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 - 在用户更新标签后呈现 Highcharts

javascript - 如何在不使用 JS 的情况下滚动到 TOC 页面上的固定位置元素之外?

javascript - 每隔几秒从数组中的值更改类

java给数组赋值

javascript - 如果函数不返回 false?

javascript - 如何在不使用 indexOf 方法的情况下定位具有特定内联样式的特定 dom css 类

javascript - 我如何使用 midi.js 和 jasmid.js?

Java ByteArray 文件解析

c# - C# 中的 Foreach Json 对象

javascript - 如何使用其他对象中的值创建对象?