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();测试看看‹/›
为了正确地对数字进行排序,您可以创建一个比较函数作为参数:
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]; // 最后一个索引值最大 }测试看看‹/›