数组对象排序

数组对象排序

这样的排序是有问题的,如果有两个值的排序是一样的,排序排出来的顺序就不正确

sortFun (attr,rev){
       //第二个参数没有传递 默认升序排列
       if(rev ==  undefined){
           rev = 1;
      }else{
           rev = (rev) ? 1 : -1;
      }
       return function(a,b){
           a = a[attr];
           b = b[attr];
           if(a < b){
               return rev _ -1;
          }
           if(a > b){
               return rev _ 1;
          }
           return 0;
      }
},

let arr=[
    {
        name:`一`,
        number:1,
    },
    {
        name:`二`,
        number:2,
    }
]

arr.sort(this.sortFun(`number`))

参考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

原文地址:https://www.cnblogs.com/IwishIcould/p/13302307.html