es6对象数组如何去重

avatar
作者
筋斗云
阅读量:4

可以使用Set数据结构或者reduce方法来去重。

  1. 使用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); 
  1. 使用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); 

以上两种方法都可以实现对对象数组的去重,根据实际情况选择使用。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!