JavaScript中的Array.prototype.sort()
方法用于对数组的元素进行排序。默认情况下,它会按照字符串Unicode码点顺序进行排序,因此可能无法按照你期望的方式排序数字或其他自定义对象。
let arr = ['c', 'a', 'b'];
arr.sort(); // 输出 ['a', 'b', 'c']
如果你想按照数字顺序对数组进行排序,可以提供一个比较函数给sort()
方法:
let arr = [3, 1, 2];
arr.sort(function(a, b) {
return a - b;
}); // 输出 [1, 2, 3]
let arr = [3, 1, 2];
arr.sort(function(a, b) {
return b - a;
}); // 输出 [3, 2, 1]
或者使用箭头函数:
let arr = [3, 1, 2];
arr.sort((a, b) => a - b); // 输出 [1, 2, 3]
如果你有一个包含自定义对象的数组,并想根据对象的某个属性进行排序,也可以提供一个比较函数给sort()
方法:
let arr = [
{ name: 'John', age: 23 },
{ name: 'Jane', age: 21 },
{ name: 'Rose', age: 25 }
];
arr.sort(function(a, b) {
return a.age - b.age;
}); // 按年龄排序,输出:[ { name: 'Jane', age: 21 }, { name: 'John', age: 23 }, { name: 'Rose', age: 25 } ]