【发布时间】:2021-08-03 14:05:04
【问题描述】:
假设我有一个像这样的对象:
hex_ids = [
["8d267451c3858ff", "8d267451c385bbf", "8d267451c385b3f", "8d267451c385b7f", "8d267451c3ae6bf", "8d267451c3ae6ff", "8d267451c3ae67f", "8d267451c3aa93f"],
["8d267451c3aa93f", "8d267451c3ae2ff", "8d267451c3ae27f", "8d267451c3a8cbf", "8d267451c3a8dbf", "8d267451c3a8d3f", "8d267451c3ac6ff"]
]
数组有 2 个嵌套数组,每个数组都有不同的长度。每个嵌套数组中的至少一项也存在于另一项中。我想要做的是将这 2 个嵌套数组组合成一个具有唯一项的数组,并消除像这样的任何冗余:
hex_ids = ["8d267451c3858ff", "8d267451c385bbf", "8d267451c385b3f", "8d267451c385b7f",
"8d267451c3ae6bf", "8d267451c3ae6ff", "8d267451c3ae67f", "8d267451c3aa93f", "8d267451c3ae2ff",
"8d267451c3ae27f", "8d267451c3a8cbf", "8d267451c3a8dbf", "8d267451c3a8d3f", "8d267451c3ac6ff"]
最简单的方法是什么?
【问题讨论】:
-
const newArray = Array.from(new Set(hex_ids.flatMap(item => item))) -
@secan - 没有理由使用
flatMap,我们有flat,避免回调。 -
... 实际上使用
flatMap()是没有意义的,而简单的flat()会这样做,正如您在@Spectric 的答案中看到的那样 -
@T.J.Crowder,是的,当我看到 Spectric 的答案时,我意识到了这一点,但无论如何感谢 :)
标签: javascript arrays unique