zoukankan      html  css  js  c++  java
  • sort()对数组进行排序

    一、数组的默认排序

     var arr = [8,7,6,1,2,4,3,9,5]
     console.log(arr.sort())

    输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9],默认是升序排列,从小到大

    二、sort()比较函数实现降序,从大到小排列

        var arr = [8,7,6,1,2,4,3,9,5]
        console.log(arr.sort(function(a,b){
          return b- a
        }))

    输出结果:[9, 8, 7, 6, 5, 4, 3, 2, 1]

    知识点:

    1.参数a和b,就是依次从数组中取连续的两个元素,如从示例中先选择前两个元素 8,7。
    所以,在匿名函数内 b - a 的结果是 -1。

    再看下,匿名函数的结果跟排序的关系:
    如果小于 0 ,那么 a 会被排列到 b 之前;
    如果等于 0 , a 和 b 的相对位置不变。备注:ECMAScript 标准并不保证这一行为,而且也不是所有浏览器都会遵守(例如 Mozilla 在 2003 年之前的版本);
    如果大于 0 , b 会被排列到 a 之前。
    必须总是对相同的输入返回相同的比较结果,否则排序的结果将是不确定的。

    三、中文实现排序

        var array = ['最', '啊', '传', '不'];
        var resultArray = array.sort(
          function (param1, param2) {
            return param1.localeCompare(param2,"zh")
          }
        )
        console.log(resultArray)
        var resultArray2 = array.sort(
          function (param1, param2) {
            return param2.localeCompare(param1,"zh")
          }
        )
        console.log(resultArray2)

    输出结果:

    1.["啊", "不", "传", "最"]

    2.["最", "传", "不", "啊"]

  • 相关阅读:
    hanoi(老汉诺塔问题新思维)
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP框架
  • 原文地址:https://www.cnblogs.com/qiuchuanji/p/12083781.html
Copyright © 2011-2022 走看看