例
数组排序:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
水果的结果将是:
Apple,Banana,Mango,Orange
试一试» 更多"Try it Yourself"下面的例子。
定义和用法
的sort()方法进行排序的阵列中的项目。
排序顺序可以是字母或数字,并且或者上升(up)或降序(down) 。
默认情况下, sort()方法排序值按字母和升序字符串。
这非常适用于字符串("Apple" comes before "Banana") 。 但是,如果数字进行排序为字符串, "25"比大"100" ,因为"2"比大"1" 。
正因为如此,所述sort()方法将排序数字时产生不正确的结果。
您可以通过提供一个解决这个问题"compare function" (见"Parameter Values"下文)。
Note:此方法更改原始数组。
浏览器支持
在表中的数字规定,完全支持方法的第一个浏览器版本。
方法 | |||||
---|---|---|---|---|---|
sort() | 是 | 是 | 是 | 是 | 是 |
句法
参数值 参数 描述 compareFunction 可选的。 其限定了一可替换的排序顺序的函数。 该函数返回一个负数,零或正值,根据参数的,比如: - function(a, b) {返回} AB
当sort()方法比较两个值,它发送的值的比较功能,并且根据返回的(负,零,正)值进行排序的值。
例:
当比较40和100中, sort()方法调用比较function(40,100)
的函数计算40-100,并返回-60 (a negative value) 。
排序函数将整理40低于100的值。
技术细节
返回值: 数组对象,用排序的项目 JavaScript的版本: 1.1
更多示例
例
在以升序进行数组排序号码:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
点的结果将是:
1,5,10,25,40,100 试一试»
例
在以降序进行数组排序号码:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
点的结果将是:
100,40,25,10,5,1 试一试»
例
获取数组中的最高值:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return
b-a}); // Sort the numbers in the array in descending
order
// The first item in the array (points[0]) is now the
highest value
[0]的点的结果将是:
100 试一试»
例
获取数组中的最低值:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return
a-b}); // Sort the numbers in the array in ascending order
//
The first item in the array (points[0]) is now the lowest
value
[0]的点的结果将是:
1 试一试»
例
排序的阵列按字母顺序,然后反向排序项目的顺序(descending) :
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
水果的结果将是:
Orange,Mango,Banana,Apple 试一试»
<JavaScript的阵列参考