当前位置:首页 > JavaScript

js实现列表排序

2026-02-02 23:20:58JavaScript

使用 Array.prototype.sort()

JavaScript 数组的 sort() 方法默认按 Unicode 码点排序,可能不符合数值或自定义排序需求。需传入比较函数实现定制排序。

const numbers = [3, 1, 4, 1, 5];
numbers.sort((a, b) => a - b); // 升序 [1, 1, 3, 4, 5]
numbers.sort((a, b) => b - a); // 降序 [5, 4, 3, 1, 1]

对象数组按属性排序

对于对象数组,可通过比较函数指定属性排序:

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

字符串排序

字符串排序需考虑大小写或本地化规则:

const fruits = ['Banana', 'apple', 'Cherry'];
fruits.sort((a, b) => a.localeCompare(b)); // 忽略大小写排序

稳定排序实现

ES2019 后 sort() 已稳定,但如需兼容旧环境可手动实现稳定排序:

function stableSort(array, compare) {
  const indexed = array.map((v, i) => [v, i]);
  indexed.sort((a, b) => compare(a[0], b[0]) || a[1] - b[1]);
  return indexed.map(v => v[0]);
}

按多条件排序

通过组合比较条件实现多级排序:

js实现列表排序

const data = [
  { name: 'Alice', age: 25, score: 80 },
  { name: 'Bob', age: 25, score: 90 }
];
data.sort((a, b) => 
  a.age - b.age || b.score - a.score
); // 先按 age 升序,再按 score 降序

标签: 列表js
分享给朋友:

相关文章

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现dh

js实现dh

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

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…