可以使用Set数据结构或者reduce方法来去重。
- 使用Set数据结构:
let arr = [{name: 'Alice', age: 20}, {name: 'Bob', age: 30}, {name: 'Alice', age: 20}];
let uniqueArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArr);
- 使用reduce方法:
let arr = [{name: 'Alice', age: 20}, {name: 'Bob', age: 30}, {name: 'Alice', age: 20}];
let uniqueArr = arr.reduce((prev, curr) => {
let hasDuplicate = prev.some(obj => obj.name === curr.name && obj.age === curr.age);
if(!hasDuplicate) {
prev.push(curr);
}
return prev;
}, []);
console.log(uniqueArr);
以上两种方法都可以实现对对象数组的去重,根据实际情况选择使用。