排序数组:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
亲自试一试 »
排序然后反转顺序:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
亲自试一试 »
这个sort()
对数组的元素进行排序。
这个sort()
覆盖原始数组。
这个sort()
按字母顺序和升序对元素进行排序。
按字母顺序排序对于字符串效果很好("Apple" 位于 "Banana" 之前)。
但是,对数字进行排序可能会产生不正确的结果。
"25" 比 "100" 大,因为 "2" 比 "1" 大。
您可以通过提供 "compare function" 来解决此问题(请参阅下面的示例)。
array.sort(
compareFunction)
Parameter | Description |
compareFunction | Optional. A function that defines a sort order. The function should return a negative, zero, or positive value, depending on the arguments:
When sort() compares two values, it sends the values to the compare function, and sorts the values according to the returned (negative, zero, positive) value. Example: The sort function will sort 40 as a value lower than 100. When comparing 40 and 100, sort() calls the function(40,100). The function calculates 40-100, and returns -60 (a negative value). |
有序项目的数组。 |
按升序对数字进行排序:
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];
// Sort the numbers in ascending order
points.sort(function(a, b){return a-b});
let lowest = points[0];
亲自试一试 »
求最高值:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in descending order:
points.sort(function(a, b){return b-a});
let highest = points[0];
亲自试一试 »
求最高值:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in ascending order:
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 |
Yes | Yes | Yes | Yes | Yes | Yes |
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!