在JavaScript中,sort()
方法用于对数组的元素进行排序。默认情况下,sort()
方法按照字符串Unicode码点的顺序进行排序,这可能并不总是符合数值排序的需求。因此,通常需要提供一个比较函数来自定义排序规则。
对于数字数组的升序排序,可以提供一个比较函数,该函数接收两个参数 a
和 b
,如果返回值小于0,则 a
会被排列到 b
之前。
let arr = [10, 5, 40, 25, 1000];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr); // 输出: [5, 10, 25, 40, 1000]
对于数字数组的降序排序,比较函数返回值大于0时,a
会被排列到 b
之前。
let arr = [10, 5, 40, 25, 1000];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr); // 输出: [1000, 40, 25, 10, 5]
对于字符串数组,sort()
方法默认就是按照字典序进行升序排序。
let arr = ["banana", "apple", "cherry"];
arr.sort();
console.log(arr); // 输出: ["apple", "banana", "cherry"]
如果需要降序排序,可以这样做:
let arr = ["banana", "apple", "cherry"];
arr.sort().reverse();
console.log(arr); // 输出: ["cherry", "banana", "apple"]
或者使用自定义比较函数:
let arr = ["banana", "apple", "cherry"];
arr.sort(function(a, b) {
if (a < b) return 1;
if (a > b) return -1;
return 0;
});
console.log(arr); // 输出: ["cherry", "banana", "apple"]
sort()
方法会改变原数组。以上就是JavaScript中sort()
方法进行升序和降序排序的基础概念、示例代码以及应用场景。
领取专属 10元无门槛券
手把手带您无忧上云