最新的Web开发教程
 

JavaScript排列sort() Method

<JavaScript的阵列参考

数组排序:

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的阵列参考