JavaScript 数组 sort() 方法

 JavaScript 数组对象

sort()方法对数组的元素进行排序(基于第一个字符)并返回数组。

默认情况下,sort()方法按升序/按字典顺序对值排序。

这适用于字符串(“ December”先于“ February”)。

但是,如果数字按字符串排序,则“35”大于“150”,因为“3”大于“1”。

但是您可以通过提供“compare”函数来更改排序算法。

注意: sort()方法更改原始数组。

语法:

array.sort(compareFunction)
var months = ['March', 'Jan', 'Feb', 'Dec'];
months.sort();
测试看看‹/›

浏览器兼容性

表格中的数字指定了完全支持sort()方法的第一个浏览器版本:

Method
sort()115.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];  // 最后一个索引值最大
}
测试看看‹/›

 JavaScript 数组对象