1: const ary = [{
a: 1,
b: 12,
c: 3
}, {
a: 1,
b: 11,
c: 111
}, {
a: 2,
b: 18,
c: 111
}];
const newArr = [];
ary.map((item) => newArr.findIndex(({
a
}) => a === item.a) === -1 && newArr.push(item));
console.log(newArr);
2:
var obj = {};
ary = ary .reduce(function (item, next) {
obj[next.a] ? '' : obj[next.a] = true && item.push(next);
return item;
}, []);
console.log(ary.length);
有一个key值相同都不行:
var obj = {};
arr = arr.reduce(function(item, next) {
obj[next.key] ? '' : obj[next.key] = true && item.push(next);
return item;
}, []);
console.log(arr);
var result = [];
var obj = {};
for(var i =0; i<arr.length; i++){
if(!obj[arr[i].key]){
result.push(arr[i]);
obj[arr[i].key] = true;
}
}