之前一直处理的是数组的元素去重,但是数组中元素为对象的情况下,去重又一点不一样,利用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);