通过 set 和 map 实现对象数组去重

  • 根据所有属性去重
// 方法一
const map = new Map()
arr.filter( item => !map.has(JSON.stringify(item)) && map.set(JSON.stringify(item), 1)
 
// 方法二
[...new Set(arr.map(e => JSON.stringify(e)))].map(e => JSON.parse(e)]
  • 根据对象中某个属性去重 
// key 是某个属性
const map = new Map()
return arr.filter((item) => !map.has(item[key] + '') && map.set(item[key] + '', 1))

 

posted @   土小狗  阅读(177)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示