数组去重 根据数组中对象的某个key去重

372 阅读1分钟

 这个数组要根据id去重

去重前:
let arr = [
    {id:'1',name:'王红'},
    {id:'2',name:'李红'},
    {id:'1',name:'许红'},
]

去重后:
let arr = [    
    {id:'1',name:'王红'},
    {id:'2',name:'李红'},
]

第一种方法:(每个值都会被returnreturn 0 相当于false。如果不存在return 1也就是true)
const obj = {}
const newData = arr.filter(item => obj[item.id] ? 0 : obj[item.id] = 1)
console.log(newData)
 第二种方法:
const nst = new Set()
const newData = arr.filter((item) => !nst.has(item.id) && nst.add(item.id))
console.log(newData)