最新的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的陣列參考