可以利用 Set 和 Array.from 方法进行去重,代码如下:

const arr = [
  { id: 1, name: '张三' },
  { id: 2, name: '李四' },
  { id: 1, name: '王五' },
  { id: 3, name: '赵六' },
  { id: 2, name: '钱七' },
];

const result = Array.from(new Set(arr.map(item => item.id))).map(id => arr.find(item => item.id === id));
console.log(result); // [{ id: 1, name: '张三' }, { id: 2, name: '李四' }, { id: 3, name: '赵六' }]

这段代码先利用 map 方法将数组中每个对象的 id 属性提取出来,然后利用 Set 去重,再利用 Array.from 方法将 Set 转化成数组。最后再利用 map 方法遍历去重后的数组,利用 find 方法找到原数组中对应的对象,最终得到去重后的数组。

js 根据数组对象中的一个属性值进行去重

原文地址: https://www.cveoy.top/t/topic/bj0s 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录