沃梦达 / IT编程 / 前端开发 / 正文

JS sort排序详细使用方法示例解析

在 Javascript 中,sort() 是一个常用的排序函数。sort() 可以按照数组元素的字母排序,也可以按照数字大小排序。

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);

输出结果为:


这是因为默认情况下,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' 前面,'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);

输出结果为:

这个例子中,我们传递了一个排序函数,该函数会按照数组元素的字母顺序进行排序。在比较数组元素之前,我们把它们都转换成小写字母,以便比较更加准确。

总结

sort() 函数是 Javascript 中常用的排序函数。它可以按照数组元素的字母顺序或数字大小进行排序。如果需要进行自定义排序,可以传递一个排序函数作为参数。在编写排序函数的时候,应该返回一个值,以便 sort() 函数进行比较。

本文标题为:JS sort排序详细使用方法示例解析