javascript - 使用重复键连接对象中的 2 个数组

标签 javascript arrays

我有 2 个长度相同的数组,如下所示:

a = [12,21,21,13,13,13,13,31];
b = [4,7,4,6,2,9,4,1];

第一个数组是键,第二个数组是值,但是如果键重复,则值应该分组在相应的键中而不是被替换。 该对象应如下所示:

o = {
    12: [4],
    21: [7,4],
    13: [6,2,9,4],
    31: [1]
}

这是我尝试过的:

var o = {};
for ( var index in a) {
    o[a[index]] = [];
    o[a[index]].push(b[index]);
}

最佳答案

试试这个:

var o = {};
for (var i = 0; i < b.length; i++) {
    var key = a[i] + '';
    if (key in o) {
        o[key].push(b[i]);
    }
    else {
        o[key] = [b[i]];
    }
}

关于javascript - 使用重复键连接对象中的 2 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9893312/

相关文章:

javascript - Protractor、Jasmine 和在第一次失败时停止测试

c++ - 3d -> 1D 数组索引

python - python中返回多维列表元素的函数

jquery - 如何使用Jquery查找数组中的对象值?

javascript - 在javascript中使用来自html框的输入

javascript - 从字符串名称到 id 的过滤对象数组

javascript - 错误跟踪[第 : 42] Le contenu des éléments doit inclure un balisage ou des caractères au format correct 行

javascript - 如何在标签和描述中自动完成搜索

java - 空指针异常的解释

java - 覆盖预定义数组