将嵌套数组组合成具有唯一项的单个数组



假设我有这样一个对象:

hex_ids = [
["8d267451c3858ff", "8d267451c385bbf", "8d267451c385b3f", "8d267451c385b7f", "8d267451c3ae6bf", "8d267451c3ae6ff", "8d267451c3ae67f", "8d267451c3aa93f"], 
["8d267451c3aa93f", "8d267451c3ae2ff", "8d267451c3ae27f", "8d267451c3a8cbf", "8d267451c3a8dbf", "8d267451c3a8d3f", "8d267451c3ac6ff"]
]

数组有2个嵌套数组,每个数组有不同的长度。每个嵌套数组中至少有一个项在另一个数组中也存在。我想做的是将这两个嵌套数组组合成一个具有唯一项的数组并消除任何冗余,像这样:

hex_ids = ["8d267451c3858ff", "8d267451c385bbf", "8d267451c385b3f", "8d267451c385b7f",
"8d267451c3ae6bf", "8d267451c3ae6ff", "8d267451c3ae67f", "8d267451c3aa93f", "8d267451c3ae2ff", 
"8d267451c3ae27f", "8d267451c3a8cbf", "8d267451c3a8dbf", "8d267451c3a8d3f", "8d267451c3ac6ff"]

最简单的方法是什么?

Array#flat平放数组并获得唯一值:

const array = [
["8d267451c3858ff", "8d267451c385bbf", "8d267451c385b3f", "8d267451c385b7f", "8d267451c3ae6bf", "8d267451c3ae6ff", "8d267451c3ae67f", "8d267451c3aa93f"], 
["8d267451c3aa93f", "8d267451c3ae2ff", "8d267451c3ae27f", "8d267451c3a8cbf", "8d267451c3a8dbf", "8d267451c3a8d3f", "8d267451c3ac6ff"]
]
const result = [...new Set(array.flat())];
console.log(result);

var arr=[];
for(let i of hex_ids){
arr=arr.concat(i)
}
console.log(Array.from(new Set(arr)))

最新更新