当前位置:首页 > JavaScript

实现js sort()

2026-01-31 14:56:40JavaScript

实现 JavaScript 的 sort() 方法

JavaScript 的 sort() 方法用于对数组元素进行排序。默认情况下,sort() 将元素转换为字符串并按 Unicode 码点顺序排序。如需自定义排序逻辑,需传入比较函数。

默认排序(按 Unicode 码点)

const fruits = ['banana', 'apple', 'orange'];
fruits.sort();
console.log(fruits); // 输出: ['apple', 'banana', 'orange']

数字排序

默认情况下,数字会被转换为字符串排序,可能导致错误结果。需传入比较函数:

const numbers = [40, 100, 1, 5];
numbers.sort((a, b) => a - b); // 升序
console.log(numbers); // 输出: [1, 5, 40, 100]

numbers.sort((a, b) => b - a); // 降序
console.log(numbers); // 输出: [100, 40, 5, 1]

对象数组排序

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

const users = [
  { name: 'John', age: 25 },
  { name: 'Jane', age: 30 },
  { name: 'Bob', age: 20 }
];
users.sort((a, b) => a.age - b.age); // 按年龄升序
console.log(users); // 输出: [{name: 'Bob', age: 20}, ...]

自定义排序逻辑

比较函数需返回以下值:

实现js sort()

  • 负数:a 排在 b
  • 正数:b 排在 a
  • 零:顺序不变
const mixed = ['Aa', 'aa', 'aA', 'AA'];
mixed.sort((a, b) => a.localeCompare(b, 'en', { sensitivity: 'base' }));
console.log(mixed); // 不区分大小写的排序

注意事项

  • sort() 会修改原数组。
  • 对大型数组,考虑性能更优的排序算法(如快速排序、归并排序)。
  • Unicode 排序可能对特殊字符(如 éñ)产生非预期结果,需使用 localeCompare

标签: jssort
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js实现复选框

js实现复选框

实现复选框的基本方法 使用HTML的<input type="checkbox">元素创建复选框,并通过JavaScript监听其状态变化。 <input type="checkb…