【发布时间】:2018-08-16 02:58:24
【问题描述】:
问题很简单。我有一组对象数组。示例:
[[{'name':'cat"}, {'name':'lion'}], [{'name':'elephant"},
{'name':'lion'}, {'name':'dog'}], [{'name':'tiger"}, {'name':'mouse'},
{'name':'dog'}]]
我想使用 JS 删除重复项,只保留它们的第一次出现并删除它们的重复项,结果是:
[[{'name':'cat"}, {'name':'lion'}], [{'name':'elephant"},
{'name':'dog'}], [{'name':'tiger"}, {'name':'mouse'}]]
如何使用 loadash/下划线来做到这一点?我尝试了很多选项,第一个涉及将迭代对象传递给 .uniq 函数,但它没有按照我想要的方式工作,因为这些是二维数组。另一种蛮力方法包括一个接一个地遍历所有数组,然后进行搜索以查看是否有任何其他数组包含该元素并删除该元素。重复此过程,直到子数组的最后一个。
不喜欢蛮力方法,所以想知道是否有任何其他方法可以保留独特的元素。
请注意,这是一个二维对象数组,堆栈溢出的所有帖子都回答一维对象数组。我不想在数组中找到重复项。我正在尝试在数组中的所有数组中查找重复项。
【问题讨论】:
标签: javascript arrays unique