判断数组中对象的某个值是否有相同的并去重

2023-12-15 15:34:29

如果你想判断数组中对象的某个值是否有相同的,并进行去重,你可以使用 JavaScript 中的一些数组方法和 Set 对象。以下是一个示例:

// 原始数组包含对象
const array = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Doe' },
  { id: 4, name: 'John' }, // 重复项
  { id: 5, name: 'Alice' }
];

// 根据对象的某个值进行去重
const uniqueArray = Array.from(new Set(array.map(obj => obj.name))).map(name => {
  return array.find(obj => obj.name === name);
});

console.log(uniqueArray);

在这个例子中,我们使用了 Array.from(new Set(...)) 的技巧,首先通过 array.map(obj => obj.name) 提取对象的某个值(在这里是 name 属性),然后使用 new Set(...) 创建一个 Set 对象,Set 对象会自动去重。最后,通过 Array.from(...) 将 Set 转换回数组,并利用 map 方法还原原始对象。

uniqueArray 将是一个去重后的数组,其中对象的 name 属性是唯一的。这样你就得到了根据某个值进行去重的新数组。如果你有其他需要考虑的条件,可以相应地修改这个逻辑。

文章来源:https://blog.csdn.net/weixin_60196946/article/details/135016769
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。