JavaScript Array sort() 方法

  • JavaScript Array sort() 方法

    sort()方法对数组的项进行排序。排序顺序可以是字母顺序或数字顺序,也可以是升序(向上)或降序(向下)。默认情况下,sort()方法按字母顺序和升序将值排序为字符串。这适用于字符串(“Apple”出现在“Banana”之前)。但是,如果数字被排序为字符串,则“25”大于“100”,因为“2”大于“1”。因此,sort()方法在排序数字时会产生不正确的结果。您可以通过提供“比较功能”来解决此问题(请参阅下面的“参数值”)。
    注意:此方法更改原始数组。
    实例:
    排序数组:
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.sort();
    尝试一下
  • 浏览器支持

    IE/Edge Chrome FireFox Safari Opera
    方法
    sort()
    支持
    支持
    支持
    支持
    支持
  • 语法

    array.sort(compareFunction)
  • 参数值

    参数 描述
    compareFunction 可选的。 定义替代排序顺序的函数。 该函数应返回负值,零值或正值,具体取决于参数,如:
    compare(a,b){return a-b}
    当sort()方法比较两个值时,它会将值发送到compare函数,并根据返回的(负,零,正)值对值进行排序。 例:
    比较40和100时,sort()方法调用compare(40,100)。 该函数计算40-100,并返回-60(负值)。 sort函数将40排序为低于100的值。
  • 技术细节

    项目 描述
    返回值: Array对象,其中的项目已排序
    JavaScript版本: ECMAScript 1
  • 更多例子

    按升序对数组中的数字进行排序:
    var points = [40, 100, 1, 5, 25, 10];
    points.sort(function(a, b){return a-b});
    尝试一下
    按降序对数组中的数字进行排序:
    var points = [40, 100, 1, 5, 25, 10];
    points.sort(function(a, b){return b-a});
    尝试一下
    获取数组中的最高值:
    var points = [40, 100, 1, 5, 25, 10];
    points.sort(function(a, b){return b-a});    // 按降序对数组中的数字进行排序
    // 数组中的第一项(points [0])现在是最高值
    尝试一下
    获取数组中的最小值:
    var points = [40, 100, 1, 5, 25, 10];
    points.sort(function(a, b){return a-b});    // 按升序对数组中的数字进行排序
    // 数组中的第一项(points [0])现在是最低值
    尝试一下
    按字母顺序对数组排序,然后反转已排序项的顺序(降序):
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.sort();
    fruits.reverse();
    尝试一下