对象数组去重
unique(arr) {
const res = new Map();
return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
}
1.直接调用该方法。根据对象中的某个属性去重,上面这个方法是通过对象中的id来去重的。
let tempArr1 = [
{id:1,name:'apple'},
{id:2,name:'pen'},
{id:3,name:'book'},
{id:3,name:'mouse'}
]
let newArr = unique(tempArr1)
console.log(newArr)
输出结果为:
[
{id:1,name:'apple'},
{id:2,name:'pen'},
{id:3,name:'book'}
]
2.使用filter
tempArr1 = tempArr1.filter((item,index) =>{
return tempArr1.findIndex(item1 =>item1.id==item.id) == index
})