美文网首页
数组方法sort使用比较函数

数组方法sort使用比较函数

作者: 胡儒清 | 来源:发表于2018-11-14 09:30 被阅读16次

    排序规则

    数组的sort方法可以对数组进行排序,按照Unicode码进行排列,但遇到特殊情况,比如成员是字符串的数字,或者成员是对象的时候,就需要用到比较函数才能得到我们想要的结果

    let arr = [
    "100","3","20","50"
    ]
    function compare(a,b){
      return a-b;
    }
    console.log(arr.sort(compare));
    

    总结:在比较函数里,规则如下

    1. return a-b; 那么当a>b的时候,a和b交换位置,就是把a放到b的后面,这时候是升序排列。
    2. return b-a; 则跟上面第一点反过来,这时候是降序排列。

    数组成员是对象的处理方法

    有如下数组,请按age进行降序排列

    let arr = [
      {name:'Tom',age: 20},
      {name:'peter',age: 60},
      {name:'Bruce',age: 10},
      {name:'Lucy',age: 40},
    ]
    
    function compare(p1,p2) {
      let age1 = p1.age;
      let age2 = p2.age;
      // 降序排列
      return age2 - age1;
    }
    arr.sort(compare);
    

    相关文章

      网友评论

          本文标题:数组方法sort使用比较函数

          本文链接:https://www.haomeiwen.com/subject/ltkdfqtx.html