JS sort排序详细使用方法示例解析
在 Javascript 中,sort() 是一个常用的排序函数。sort() 可以按照数组元素的字母排序,也可以按照数字大小排序。
sort() 语法
sort() 函数的语法如下:
array.sort(sortFunction)
其中,sortFunction 是可选的参数。如果省略该参数,那么 sort() 函数会将数组元素按照默认的 Unicode 码点进行排序。
sort() 默认排序
下面是一个默认排序的例子:
let arr = [30,10,21,7,66];
arr.sort();
console.log(arr);
输出结果为:
[10, 21, 30, 66, 7]
这是因为默认情况下,sort() 函数会将数组元素转换为字符串,再按照 Unicode 码点进行排序。因此,'10' 的 Unicode 码点小于 '7' 的 Unicode 码点,所以 '10' 会排在 '7' 前面。所以我们需要传递自定义的排序函数。
sort() 自定义排序
sort() 函数可以接收一个自定义的排序函数。该函数需要接收两个参数,分别表示将要比较的两个数组元素。该函数需要返回一个值。
如果返回值小于 0,那么第一个参数会排在第二个参数前面。
如果返回值等于 0,那么第一个参数和第二个参数的位置保持不变。
如果返回值大于 0,那么第一个参数会排在第二个参数后面。
下面是一个数字大小排序的例子:
let arr = [30,10,21,7,66];
arr.sort(function(a, b) {
return a - b;
})
console.log(arr);
输出结果为:
[7, 10, 21, 30, 66]
这个例子中,我们传递了一个排序函数,该函数会按照数组元素的数字大小进行排序。因此,'7' 会排在 '10' 前面,'10' 会排在 '21' 前面,以此类推。
sort() 字母排序
sort() 函数可以按照字母顺序进行排序。下面是一个按照字母顺序排序的例子:
let arr = ['apple', 'banana', 'Orange', 'pear'];
arr.sort(function(a, b) {
return a.toLowerCase() > b.toLowerCase() ? 1 : -1;
});
console.log(arr);
输出结果为:
["apple", "banana", "Orange", "pear"]
这个例子中,我们传递了一个排序函数,该函数会按照数组元素的字母顺序进行排序。在比较数组元素之前,我们把它们都转换成小写字母,以便比较更加准确。
总结
sort() 函数是 Javascript 中常用的排序函数。它可以按照数组元素的字母顺序或数字大小进行排序。如果需要进行自定义排序,可以传递一个排序函数作为参数。在编写排序函数的时候,应该返回一个值,以便 sort() 函数进行比较。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS sort排序详细使用方法示例解析 - Python技术站