js中使用es6的set数据结构去除数组对象中的重复对象

对象数组去重的思路是将对象序列化为字符串,然后使用set结构去重,最后再反序列化为对象

const arr = [
   {
     name: 'haha',
     age: 12
   },
   {
     name: 'haha',
     age: 12
   },
   {
     name: 'haha',
     age: 12
   }
 ];
 // 序列化去重
 const noRepeat = [...new Set(arr.map(item => JSON.stringify(item)))];
 // 反序列化
 const newArr = noRepeat.map(item => JSON.parse(item));
 console.log(newArr);   // [ { name: 'haha', age: 12 } ]

你可能感兴趣的:(js,对象数组,对象去重,Set)