下面是关于JavaScript中数组排序sort()
方法的详细攻略。
标准语法
array.sort(compareFunction)
参数
compareFunction
是可选的,是用来指定按照什么顺序进行排序的,具体取决于具体实现。
如果省略,sort()
方法按照每个字符的 Unicode 代码点进行排序,因此 "10" 在排列时会在 "2" 之前,此时会将数组以字符串形式进行排序。
如果指定了 compareFunction
则会使用其中的方法:
- 如果 compareFunction(a, b) 小于 0 ,那么 a 会被排在 b 之前。
- 如果 compareFunction(a, b) 等于 0 , a 和 b 的相对位置不变。
- 如果 compareFunction(a, b) 大于 0 , b 会被排在 a 之前。
compareFunction
函数接收两个参数,分别是当前两项的值(value),这两个参数将由浏览器传入,无需手动传入。比如:
function compare(a, b) {
if (a 小于 b,则返回负数) {
return -1;
}
if (a 大于 b,则返回正数) {
return 1;
}
// a must be equal to b
return 0;
}
返回值
排序后的数组,原数组被修改。
示例1:对字符串数组进行排序
const fruits = ['apple', 'orange', 'banana', 'mango'];
fruits.sort(); // 按字母顺序排序
console.log(fruits); // ["apple", "banana", "mango", "orange"]
示例2:对数字数组进行排序
const numbers = [1, 3, 2, 5, 4];
numbers.sort(); // 按字母顺序排序
console.log(numbers); // [1, 2, 3, 4, 5]
function compare(a, b) {
return a - b; // 升序排序
}
numbers.sort(compare);
console.log(numbers); // [1, 2, 3, 4, 5]
以上就是对数组sort()
方法的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:数组Array的排序sort方法 - Python技术站