• JS数组排序sort()方法同时按照两种方式排序的用法


    JS数组的sort()方法已经可以满足我们对数组的很多处理需求了,可以对数字、字母、字符串(按照字母)和布尔类型进行排序。

    下面是具体的介绍:

    1. 对数字进行排序:
      var arr = [10, 5, 40, 25, 1];
      
      document.write(arr + "<br />");
      document.write(arr.sort());

      输出:

      [10, 5, 40, 25, 1] 
      [1, 10, 25, 40, 5]

      可以看出它并没有按照数字大小进行排序,而是按照字符串的方式(先比较第一位,如果第一位相等依次比较后面的)。

    2. 对数字按照大小进行排序:
      function sortNumber(a,b)
      {
          return a - b
      }
      
      var arr = [10, 5, 40, 25, 1];
      
      document.write(arr + "<br />")
      document.write(arr.sort(sortNumber))

      输出:

      [1, 10, 25, 40, 5]
      [1, 5, 10, 25, 40]

      若a-b大于0,则b排在前面;若a-b小于0,则a排在前面。若想按照降序排序,函数内可改为“return b - a;”。

    3. 对字符串进行排序:
      var arr = ["Alfredo", "Ronald", "salvador", "Alfredo", "Saryn"];
      
      document.write(arr + "<br />");
      document.write(arr.sort());

      输出:

      ["Alfredo", "Ronald", "salvador", "Alfredo", "Saryn"]
      ["Alexander", "Alfredo", "Ronald", "Saryn", "salvador"]

      原理与例1类似。

    4. 同时按照两种方式排序。需求是这样的:“active”为1的排在前面,“active”为0的排在后面,然后分别按照“name”的字母顺序进行排序:
      var arr= [{
          "name"  : "Alfredo",
          "active": 0
      }, {
          "name"  : "Alexander",
          "active": 0
      }, {
          "name"  : "Ronald",
          "active": 1
      }, {
          "name"  : "salvador",
          "active": 0
      }, {
          "name"  : "Saryn",
          "active": 1
      }];
      
      arr.sort(function (a, b) {
          return b.name < a.name;
      }).sort(function (a, b) {
          return b.active - a.active
      });

      输出:

      [{
          "name"  : "Ronald",
          "active": 1
      }, {
          "name"  : "Saryn",
          "active": 1
      }, {
          "name"  : "Alexander",
          "active": 0
      }, {
          "name"  : "Alfredo",
          "active": 0
      }, {
          "name"  : "salvador",
          "active": 0
      }];

      我们是这样处理的:首先按照字母的顺序进行排序,然后把“active”为1的放在前面,“active”为0的放在后面。

  • 相关阅读:
    python-单链表的实现
    python-树形结构和遍历
    python四种简单排序
    python数据类型
    python安装和配置
    Js 中的false,零值,null,undefined和空字符串对象
    console和chrom-tool
    js中声明Number的五种方式
    vue下拉搜索
    canvas猜数游戏
  • 原文地址:https://www.cnblogs.com/hiwynn/p/7942632.html
Copyright © 2020-2023  润新知