javascript - 添加两个数组,其中两个数组的现有成员和重复成员替换重复的成员
问题描述
我处于这样一种情况,对我来说,将两个数组添加在一起并创建一个新数组至关重要,该数组没有两个数组的成员,它们与作为多个成员添加到最终数组中的成员相同,而只是一个,我只想让一个成员作为最终数组中两个数组中那些相同成员的代表,而不是将它们作为最终数组中的多个成员,我尝试了 concat() ,它确实做了我不想要的。伙计们,我该怎么做?像:
let arrayone = [2,4,6];
let arraytwo = [2,4,7];
我希望最终的数组是
finalarray = [2,4,6,7]
但是 concat() 给了我
final array [2,4,6,2,4,7]
这只是为了更清楚,我的数组的成员是对象。
解决方案
在集合论中,这被称为“联合”。在 JavaScript 中有很多方法可以做到这一点。如果数组只包含原始值,您可以简单地Set
从它们构建一个,然后传播回一个数组:
const firstArray = [1, 2, 3]
const secondArray = [3, 4, 5]
const union = [...new Set([...firstArray, ...secondArray])] // [1, 2, 3, 4, 5]
构造Set
函数确保没有重复的值被添加到集合中。如果数组的值不是原始值(即对象或其他东西),则需要使用其他一些迭代方法来实现联合。这是导出两个对象数组并集的一个很好的例子。
推荐阅读
- .net - 当另一个用户给你写信时,如何在 React 聊天应用程序中实时更新未读消息计数器
- reactjs - 意外的令牌,应为“;” 在本机反应
- python - Python - 设置数组
- flutter - 在 VS Code 中更改 Flutter 热重载时间
- javascript - 如何让 for 循环检查第一行
- python - 为 numpy 数组自动创建切片范围
- javascript - 尝试导入错误:“SelectionPage”未从“./components/SelectionPage”导出
- r - 36 个月的滚动回归,至少有 24 次观察
- amazon-web-services - aws SQS 是否能够支持 avro 消息?
- powerbi - Power BI - 模板