例
數組排序:
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的陣列參考