js数组根据多个属性进行排序

先按照color排好序,再按照size进行排序

let d = [{"color": "", "size": ""},{"color": "", "size": ""},{"color": "", "size": ""}];

d.sort(function(a, b) {
    if (a["color"] === b["color"]) {
        if (a["size"] > b["size"]) {
            return 1;
        } else if (a["size"] < b["size"]) {
            return - 1;
        } else {
            return 0;
        }
    } else {
        if (a["color"] > b["color"]) {
            return 1;
        } else {
            return - 1;
        }
    }
})

简化版:

d.sort((a,b=>{

    if(a["color"] === b["color"]){

         return a["size"]>b["size"]?1:a["size"]<b["size"]?-1:0;

    }else{

         return a["color"]>b["color"]?1:-1;

    }

})

猜你喜欢

转载自blog.csdn.net/luyuehui520/article/details/82147168
今日推荐