JavaScript 数组排序 (sort) 方法详解:自定义规则与示例
JavaScript 提供了 sort() 方法来对数组进行排序。sort() 方法默认按照字符串的 Unicode 编码进行排序,但是也可以自定义排序规则。
语法:
array.sort([compareFunction])
参数:
compareFunction(可选): 用于定义排序规则的函数。如果省略该参数,则按照字符串的 Unicode 编码进行排序。
返回值:
- 排序后的数组。
示例:
- 按照数值大小排序:
var arr = [5, 2, 1, 4, 3];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr); // [1, 2, 3, 4, 5]
- 按照字符串长度排序:
var arr = ['cat', 'dog', 'elephant', 'bird'];
arr.sort(function(a, b) {
return a.length - b.length;
});
console.log(arr); // ['cat', 'dog', 'bird', 'elephant']
- 按照对象属性值排序:
var arr = [
{name: 'Tom', age: 18},
{name: 'Jack', age: 25},
{name: 'Mary', age: 20}
];
arr.sort(function(a, b) {
return a.age - b.age;
});
console.log(arr);
// [
// {name: 'Tom', age: 18},
// {name: 'Mary', age: 20},
// {name: 'Jack', age: 25}
// ]
注意:
sort()方法会改变原数组。- 在排序时会将数组元素转换为字符串进行比较。因此,如果要对数值类型的数组进行排序,要注意比较函数的编写。
原文地址: https://www.cveoy.top/t/topic/oznI 著作权归作者所有。请勿转载和采集!