我正在处理一件本应该非常简单的事情。我有一个对象数组,需要根据 id
属性从这个数组中移除重复项。因此,我想创建一个包含我的 id 的 Set
,如下所示:
let myArray = [{
id: 10,
other: "bla"
},
{
id: 15,
other: "meh"
},
{
id: 10,
other: "bla"
}
]
let indexes = new Set();
myArray.forEach(a => indexes.add(a.id));
console.log('indexes list', indexes)
索引
总是为空。我做错了什么?谢谢。编辑:我选择@Hyyan Abo Fakher的答案是正确的,因为他是正确的,但是@bambam评论中的建议是整个问题的一个很好的解决方案。感谢大家。
console.log(Array.from(indexes))
。不管怎样,只使用reduce会更容易:const unique = arr.reduce((a,b) => a.find(({id}) => id === b.id) ? a : a.concat(b) , []);
- baaothis.myArray
不是空的吗? - Sergio Tulentsevthis.myArray
,然后发现代码可以工作。 - Reinstate Monica Cellio