JavaScript 数组 sort()
示例
// 创建一个数组
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// 对数组进行排序
fruits.sort();
尝试一下 »
下面还有更多示例!
描述
The sort()
方法对数组的元素进行排序。
The sort()
方法按字母顺序和升序对元素进行排序。
The sort()
方法会覆盖原始数组。
另请参阅
排序比较函数
按字母顺序排序对于字符串来说效果很好(“Apple” 位于 “Banana” 之前)。
但是,对数字进行排序可能会产生错误的结果。
“25” 比 “100” 大,因为 “2” 比 “1” 大。
您可以通过提供“比较函数”来解决此问题(请参见下面的示例)。
语法
array.sort(compareFunction)
参数
参数 | 描述 |
compareFunction | 可选。 定义排序顺序的函数。该函数应返回一个负值、零或正值,具体取决于参数
当 sort() 比较两个值时,它会将这些值发送到比较函数,并根据返回的(负值、零、正值)值对这些值进行排序。 示例 排序函数将把 40 排序为比 100 低的值。 在比较 40 和 100 时,sort() 会调用 function(40,100)。 该函数计算 40-100,并返回 -60(负值)。 |
返回值
类型 | 描述 |
数组 | 具有已排序项的数组。 |
更多示例
降序排序
排序然后反转顺序
// 创建一个数组
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// 对数组进行排序
fruits.sort();
// 反转数组
fruits.reverse();
尝试一下 »
数字排序
使用排序函数
按升序排序数字
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 对数组进行排序
points.sort(function(a, b){return a-b});
尝试一下 »
按降序排序数字
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 对数组进行排序
points.sort(function(a, b){return b-a});
尝试一下 »
查找最低值
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 按升序排序数字
points.sort(function(a, b){return a-b});
let lowest = points[0];
尝试一下 »
查找最高值
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 按降序排序数字
points.sort(function(a, b){return b-a});
let highest = points[0];
尝试一下 »
查找最高值
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 按升序排序数字
points.sort(function(a, b){return a-b});
let highest = points[points.length-1];
尝试一下 »
浏览器支持
sort()
是 ECMAScript1 (ES1) 功能。
ES1 (JavaScript 1997) 在所有浏览器中都得到完全支持
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 是 |