当前位置:首页 > JavaScript

js sort实现

2026-01-30 13:10:40JavaScript

数组排序基础方法

JavaScript 数组的 sort() 方法默认将元素转换为字符串后按 Unicode 码点排序。直接调用可能无法满足数值排序需求。

const arr = [10, 2, 5];
arr.sort(); // 结果为 [10, 2, 5](字符串比较)

数值升序排序

通过比较函数实现数值排序,返回 a - b 表示升序:

const arr = [10, 2, 5];
arr.sort((a, b) => a - b); // 结果为 [2, 5, 10]

数值降序排序

返回 b - a 实现降序:

const arr = [10, 2, 5];
arr.sort((a, b) => b - a); // 结果为 [10, 5, 2]

对象属性排序

根据对象属性排序时,需在比较函数中指定属性名:

const users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 20 }
];
users.sort((a, b) => a.age - b.age); // 按 age 升序

字符串排序

默认按字母顺序排序(区分大小写):

const names = ['Zoe', 'alice', 'Bob'];
names.sort(); // 结果为 ['Bob', 'Zoe', 'alice'](大写字母优先)

不区分大小写的字符串排序:

const names = ['Zoe', 'alice', 'Bob'];
names.sort((a, b) => a.localeCompare(b, undefined, { sensitivity: 'base' }));

稳定排序

ES2019 规定 sort() 必须为稳定排序(相同值的元素保持原始顺序)。现代浏览器均支持此特性。

性能注意事项

sort() 的时间复杂度通常为 O(n log n),但具体实现依赖浏览器引擎(如 V8 使用 TimSort)。对大型数组排序时,避免在比较函数中执行复杂操作。

自定义排序逻辑

比较函数可灵活定义规则。例如按字符串长度排序:

js sort实现

const words = ['apple', 'banana', 'kiwi'];
words.sort((a, b) => a.length - b.length); // 结果为 ['kiwi', 'apple', 'banana']

标签: jssort
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…