JavaScript中好用的对象数组去重

对象数组去重

Demo数据如下:

var items=
[{
    "specItems": [{
        "id": "966480614728069122",
        "name": "精品装",
        "pid": "966480614694514690",
        "isSelected": true
    }, {
        "id": "958251983375663105",
        "name": "黑色",
        "pid": "958168337859981313",
        "isSelected": true
    }],
    "barcode": "44"
}, {
    "specItems": [{
        "id": "966480614728069122",
        "name": "精品装",
        "pid": "966480614694514690",
        "isSelected": true
    }, {
        "id": "958251983375663105",
        "name": "黑色",
        "pid": "958168337859981313",
        "isSelected": true
    }]
}, {
    "specItems": [{
        "id": "966480614728069122",
        "name": "精品装",
        "pid": "966480614694514690",
        "isSelected": true
    }, {
        "id": "958251983363080193",
        "name": "白色",
        "pid": "958168337859981313",
        "isSelected": true
    }]
}, {
    "specItems": [{
        "id": "966480614728069122",
        "name": "精品装",
        "pid": "966480614694514690",
        "isSelected": true
    }, {
        "id": "958251983363080193",
        "name": "白色",
        "pid": "958168337859981313",
        "isSelected": true
    }]
}]

去重方法(适用于js es6版本及以上):

var hash={};
items=items.reduce(function(item,next){
     hash[next.getName()]?'':hash[next.getName()]=true&&item.push(next);
    return item},[])

猜你喜欢

转载自blog.csdn.net/qq_33624558/article/details/80280487