可以使用Set数据结构或者reduce方法来去重。
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);
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);
以上两种方法都可以实现对对象数组的去重,根据实际情况选择使用。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:es6对象数组去重的方法是什么