JavaScript Array sort()
- 上一頁 some()
- 下一頁 splice()
- 返回上一層 JavaScript Array 參考手冊
定義和用法
sort()
方法對數組的項目進行排序。
排序順序可以是按字母或數字,也可以是升序(向上)或降序(向下)。
默認情況下,sort()
方法將按字母和升序將值作為字符串進行排序。
這適用于字符串("Apple" 出現在 "Banana" 之前)。但是,如果數字按字符串排序,則 "25" 大于 "100" ,因為 "2" 大于 "1"。
正因為如此,sort()
方法在對數字進行排序時會產生不正確的結果。
您可以通過提供“比較函數”來解決此問題(請參閱下面的“參數值”)。
注釋:sort()
方法會改變原始數組。
實例
例子 1
排序數組:
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort();
例子 2
按升序對數組中的數字進行排序:
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return a-b});
例子 3
按降序對數組中的數字進行排序:
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return b-a});
例子 4
獲取數組中的最小值:
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return a-b}); // 按升序對數組中的數字進行排序 // 數組中的第一項 (points[0]) 現在是最低值
例子 5
獲取數組中的最大值:
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return b-a}); // 按降序對數組中的數字進行排序 // 數組中的第一項 (points[0]) 現在是最高值
例子 6
獲取數組中的最大值:
const points = [40, 100, 1, 5, 25, 10]; // 按升序對數字進行排序: points.sort(function(a, b){return a-b}); // points[points.length-1] = 100(最高值)
例子 7
按字母順序對數組進行排序,然后反轉排序項的順序(降序):
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); fruits.reverse();
語法
array.sort(compareFunction)
參數值
參數 | 描述 |
---|---|
compareFunction |
可選。定義替代排序順序的函數。該函數應返回負值、零值或正值,具體取決于參數,例如:
sort() 方法比較兩個值時,將值發送給比較函數,根據返回的(負、零、正)值對值進行排序。 舉例:比較 40 和 100 時,sort() 方法調用比較函數(40,100)。 該函數計算 40-100,并返回 -60(負值)。 sort 函數會將 40 排序為小于 100 的值。 |
技術細節
返回值: | Array 對象,其中的項目已排序。 |
---|---|
JavaScript 版本: | ECMAScript 1 |
瀏覽器支持
所有瀏覽器都完全支持 sort()
方法:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
相關頁面
- 上一頁 some()
- 下一頁 splice()
- 返回上一層 JavaScript Array 參考手冊