js实现降序
数组降序排序
在JavaScript中,可以通过sort()方法结合比较函数实现数组的降序排序。默认情况下,sort()会将元素转换为字符串并按升序排列,因此需要自定义比较逻辑。
const arr = [5, 2, 9, 1, 5];
arr.sort((a, b) => b - a); // 降序排序
console.log(arr); // 输出: [9, 5, 5, 2, 1]
对象数组按属性降序
若需根据对象属性降序排列,需在比较函数中指定属性名:
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 20 }
];
users.sort((a, b) => b.age - a.age); // 按age降序
console.log(users);
// 输出: [{name:'Bob',age:30}, {name:'Alice',age:25}, {name:'Charlie',age:20}]
字符串数组降序
对字符串数组降序需使用localeCompare()方法:
const fruits = ['banana', 'apple', 'orange'];
fruits.sort((a, b) => b.localeCompare(a));
console.log(fruits); // 输出: ['orange', 'banana', 'apple']
注意事项
-
sort()会修改原数组,若需保留原数组,可先拷贝:const original = [3, 1, 4]; const sorted = [...original].sort((a, b) => b - a); -
大数组排序时,考虑性能优化方案(如TypedArray或Web Worker)。







