sort()方法對數組的元素進行排序(基于第一個字符)并返回數組。
默認情況下,sort()方法按升序/按字典順序對值排序。
這適用于字符串(“ December”先于“ February”)。
但是,如果數字按字符串排序,則“35”大于“150”,因為“3”大于“1”。
但是您可以通過提供“compare”函數來更改排序算法。
注意: sort()方法更改原始數組。
array.sort(compareFunction)
var months = ['March', 'Jan', 'Feb', 'Dec']; months.sort();測試看看?/?
表格中的數字指定了完全支持sort()方法的第一個瀏覽器版本:
Method | ![]() | ![]() | ![]() | ![]() | ![]() |
sort() | 1 | 1 | 是 | 是 | 5.5 |
參數 | 描述 |
---|---|
compareFunction | (可選)指定定義排序順序的函數。如果省略,則按字典順序對數組進行排序。 |
返回值: | 排序后的數組 |
---|---|
JavaScript版本: | ECMAScript 1 |
以升序對數組中的數字進行排序:
var nums = [5, 1, 2, 7, 3, 6, 4]; nums.sort();測試看看?/?
sort()默認情況下不會按大小對數字數組進行排序。相反,它將只檢查數字中的第一個字符:
var nums = [5, 1, 2, 17, 13, 6, 34]; nums.sort();測試看看?/?
為了正確地對數字進行排序,您可以創(chuàng)建一個比較函數作為參數:
var nums = [5, 1, 2, 17, 13, 6, 34]; nums.sort(function(a, b) {return a - b});測試看看?/?
以降序對數組中的數字進行排序:
var nums = [5, 1, 2, 17, 13, 6, 34]; nums.sort(function(a, b) {return b - a});測試看看?/?
獲取數組中的最小和最大值:
function myFunc() { var nums = [5, 1, 2, 7, 3, 6, 4]; nums.sort(); // 數組排序 var low = nums[0]; // 第一個索引的值最小 var high = nums[nums.length-1]; // 最后一個索引值最大 }測試看看?/?