利用reduce对数组中的对象进行去重

时间:2022-07-14 18:19:48

之前一直处理的是数组的元素去重,但是数组中元素为对象的情况下,去重又一点不一样,利用reduce方法可以很快的就拿到去重之后的数组,而且在去重的过程中还可以对对象进行编辑重组等操作,非常便利

var arr = [{
    "name": "Angus",
    "age": "16"
}, {
    "name": "Angus",
    "age": "16"
}, {
    "name": "Jay",
    "age": "26"
}, {
    "name": "Jay",
    "age": "26"
}];
var hash = {};
arr = arr.reduce(function(item, next) {
    hash[next.name] ? '' : hash[next.name] = true && item.push(next);
    return item
}, [])
console.log(arr);