const arr = [
{ id: 1, name: 'aa', age: 16 },
{ id: 1, name: 'aa', age: 16 },
{ id: 3, name: 'cc', age: 20 },
{ id: 3, name: 'cc', age: 20 },
{ id: 2, name: 'bb', age: 18 },
{ id: 1, name: 'aa', age: 16 },
]
const newArr = arr.filter((ele, i, self) => {
const index = self.findIndex(item => {
return item.id === ele.id
})
return index === i
})
console.log(newArr)
function unique(arr) {
const res = new Map();
return arr.filter((a) => !res.has(a.id) && res.set(a.id, 1))
}
const newArr = unique(arr)
console.log(newArr)
- 打印结果
- 项目实战:点击“全选当前页”时,过滤掉已选择的数据
onSelectAll () {
const arr = this.selectedList.concat(this.goodsData)
const myMap = new Map()
const res = arr.filter((a) => !myMap.has(a.id) && myMap.set(a.id, 1))
this.selectedList = res
}