根据数组中对象的某个属性值排序

版权声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接 如有问题, 可发送邮件咨询. https://blog.csdn.net/weixin_37865166/article/details/85829437

➢ 排序函数

attr 排序的属性 如number属性

rev true表示升序排列,false降序排序

sortFun: function(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 arrData=[
    {
        name:`一`,
        number:1,
    },
    {
        name:`二`,
        number:2,
    }
]

排序方法

参数为排序的属性名称即可

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

猜你喜欢

转载自blog.csdn.net/weixin_37865166/article/details/85829437