js实现升序降序
JavaScript 数组排序(升序/降序)
升序排序
使用 sort() 方法默认按 Unicode 编码升序排列。对数字数组需传入比较函数:

const arr = [3, 1, 4, 2];
arr.sort((a, b) => a - b);
console.log(arr); // 输出 [1, 2, 3, 4]
降序排序
在比较函数中将 b - a 即可实现降序:

const arr = [3, 1, 4, 2];
arr.sort((a, b) => b - a);
console.log(arr); // 输出 [4, 3, 2, 1]
对象数组排序
根据对象属性排序时,需在比较函数中指定属性:
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 }
];
// 按 age 升序
users.sort((a, b) => a.age - b.age);
// 按 age 降序
users.sort((a, b) => b.age - a.age);
字符串排序
对字符串数组直接使用 sort() 会按字母顺序升序排列。降序需结合 reverse():
const fruits = ['banana', 'apple', 'orange'];
fruits.sort(); // 升序 ['apple', 'banana', 'orange']
fruits.sort().reverse(); // 降序 ['orange', 'banana', 'apple']
注意事项
sort()会修改原数组,如需保留原数组需先拷贝:const sorted = [...arr].sort((a, b) => a - b);- 对包含大数的数组建议使用
Intl.Collator提高性能:const collator = new Intl.Collator(); largeArray.sort(collator.compare);





