我见过许多实现,人们试图通过多次循环遍历整个数组并搜索索引并检查其他对象是否共享该索引来尝试从 javascript 数组中删除重复项。这似乎是一种非常乏味的方法。
我宁愿从数组中创建一个集合(我不关心顺序)并将其转换回数组。然而,这种方法似乎不适用于对象。例如。 this fiddle 完全按照以前的方式打印数组。我现在如何将小提琴中示例中的数组 EFFICIENTLY 转换为在 'key' 变量上过滤的数组? (或任何其他变量组合)。
const array = [{
key: 'x',
value: 0
},
{
key: 'x',
value: 0
}
]
console.log(array);
const filtered = Array.from(new Set(array));
console.log(filtered)
答案 0 :(得分:0)
我认为这会有所帮助
const filtered = Array.from(new Set(array.map(JSON.stringify))).map(JSON.parse);
console.log(filtered);