【发布时间】:2016-09-24 09:38:38
【问题描述】:
从对象数组中删除重复对象的最佳方法是什么?
来自
var arr =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35},
{"name":"Bob", "age":35},
{"name":"Joe", "age":17},
]
删除重复项后,预期的结果是
res= arr =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35},
{"name":"Bob", "age":35},
]
(5 个对象,1 个重复,4 个左)。
每个对象的属性数量是固定的,每个数组的属性名称相同。但是,从一个数组到另一个数组,它们可能不仅仅是上面的“名称”和“年龄”,而是属性的名称可以是任何名称。
@Pointy 请将上述问题中的重复词视为口头意义上的“重复” - 对象分别具有相同数量的属性、相同的属性和相同的属性值。
【问题讨论】:
-
@Alex 不。我说的是对象数组,而不是字符串或数字数组。
-
就 JavaScript 而言,没有任何对象与任何其他对象重复。您必须设计和实施一个解决方案来比较对象并根据您自己的标准确定它们是否重复。
-
@Pointy 请将上述问题中的重复词视为口头意义上的“重复” - 对象分别具有相同数量的属性、相同的属性和相同的属性值。
-
我很高兴至少这个问题不再被视为重复,因为我检查了几乎所有关于数组和重复的 SO 问题谢谢。
标签: javascript arrays duplicates unique