const arr = [
{ id: 1, a: 1 },
{ id: 2, a: 2 },
{ id: 3, a: 3 },
{ id: 1, a: 4 },
];
//先迭代,在查看是否包含指定的值
const result = arr.reduce((total,currentValue) => {
//total为返回值,currentValue为当前值
const ids = total.map(item => item.id);
//如果ids里面没有包含currentValue的值,那么就return一个数组,加上当前值currentValue
return ids.includes(currentValue.id) ? total: [...total, currentValue];
}, []);
console.log(result);
//new Set()方法;
let arr = [1, 2, 2, 3];
let set = new Set(arr);
let newArr = Array.from(set);
console.log(newArr); // [1, 2, 3]
js对象数组如何去重?
未经允许不得转载:阿锋哥前端开发经验分享 » js对象数组如何去重?