对象数组优雅去重

1、使用Map

const arr = [{id: 1,  name:  'x1'}, {id: 2, name: 'x2' },{id: 1, name: 'x1'}]
console.time('all time')
const map = new Map()
const res = arr.filter(item => !map.has(item.userId) && map.set(item.userId, 1))
console.timeEnd('all time');

2、使用对象key唯一性

const arr = [{id: 1,  name:  'x1'}, {id: 2, name: 'x2' },{id: 1, name: 'x1'}]
console.time('all time')
const obj = {}
 arr.map(item=>{
        obj[item.id] = item
})
const newList = []
for(let key in obj){
  newList.push(obj[key])
}
console.timeEnd('all time');
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。