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

标签 javascript arrays unique

假设我有一个像这样的对象:

 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);

关于javascript - 将嵌套数组组合成具有唯一项的单个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68637533/

相关文章:

javascript - 从 html 表单向 api mandrill 发送 json 消息

javascript - 关于代码执行和javascript阻塞/非阻塞性质的问题

javascript - 如何在 Redux 状态下访问对象数组中的属性?

javascript - 解析数组Json来选择Tag

Python正则表达式匹配多个唯一值

sql - 如何在分区的 MySQL 数据库中的字段上添加唯一索引?

javascript - 在 JavaScript 中追加元素时出现奇怪的错误

javascript - 如何将图像列表放在固定的 div 中

objective-c - 提取 Xcode 数组的索引

mysql - 唯一 VS 插入忽略