比较两个数组,并用第三个数组中的值替换重复项

卡特琳
var array1 = ['a','b','c','d'];
var array2 = ['a','v','n','d','i','f'];

var array3 = ['1','2','3','4','5','6'];

刚开始学习Javascript时,我不知道如何将的值array2与上的值进行比较array1,如果这样,则将其替换为对应的数组索引array3

要这样转:

array2 = ['1','v','n','4','i','f'];

而且,即使索引位置不同,它也必须比较array1和array2的值:

var array1 = ['a','b','c','d'];
var array2 = ['d','v','n','a','i','f'];

谢谢您的帮助

妮娜·斯科茨(Nina Scholz)

您可以使用哈希表进行检查。如果该字符串未包含在哈希表中,则为此元素设置一个替换值。

var array1 = ['a','b','c','d'],
    array2 = ['d','v','n','a','i','f'],
    array3 = ['1','2','3','4','5','6'],
    hash = Object.create(null);

array1.forEach(function (a) {
    hash[a] = true;
});

array2.forEach(function (a, i, aa) {
    if (hash[a]) {
        aa[i] = array3[i];
    }
});

console.log(array2);

ES6与 Set

var array1 = ['a','b','c','d'],
    array2 = ['d','v','n','a','i','f'],
    array3 = ['1','2','3','4','5','6'];

array2.forEach((hash => (a, i, aa) => {
    if (hash.has(a)) {
        aa[i] = array3[i];
    }
})(new Set(array1)));

console.log(array2);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将两个数组 php 与第三个数组进行比较

将值从两个数组转换为新的第三个数组

我想比较两个numpy数组并创建第三个数组

如何在第三个数组中对两个数组的值进行分组?

比较两个数组时从第三个数组打印正确的项目的问题

Python:根据第三个数组对两个数组进行排序

在前两个数组的基础上创建第三个数组

如何添加两个数组以生成第三个数组?

从两个数组中获取正数,然后从中创建第三个

Ruby:将两个数组的各个值配对为第三个数组

Java映射两个数组中的数据并将其插入第三个数组

检索和更新函数,用于在第三个数组中求和两个数组

有效地从第三个数组中的两个数组中获取每对元素的最小值

将两个不同数组的元素合并到第三个数组

如何添加两个不等数组的每个元素并将其存储在第三个数组中?

比较两个列表,如果相等则替换第三个列表中的值

使用2个数组在numpy中填充第三个数组

php 创建一个带有额外值的第三个数组,其中的键与两个现有数组相匹配

diff两个数组,每个数组包含文件路径到第三个数组(用于删除)

创建两个数组,然后在用作两个微调器uipickerview的数据的第三个数组中使用它们

在与前两个具有相同组合长度的第三个数组内打印两个数组

比较两个数据框列并输出第三个

元素的总和到第三个数组

numpy:将第三个维度上的两个数组连接起来

比较2个数组并在python中写入第三个的最有效方法

如何乘以数组值并存储在codeigniter中的第三个数组变量中

Python/pandas:从两个数据帧中查找匹配值并返回第三个值

比较两个和三个数组是否包含相同的值

Pandas 检查两个数据框列并访问第三个值