Javascript:将两个数组链接在一起

时间:2017-06-13 03:36:48

标签: javascript arrays

这是数组

var foo = [1, 2, 3];
var bar = [a, b, c];

如何链接两者如

[1: a, 2: b, 3: c]

顺便说一句,请不要jquery。我想要纯粹的javascript

2 个答案:

答案 0 :(得分:0)

返回object而不是数组.Array没有键值对。您可以使用Array#forEach

var foo = [1, 2, 3];
var bar = ['a', 'b', 'c'];
var obj={}
foo.forEach(function(a,b){
obj[a] = bar[b]
})
 console.log(obj)

答案 1 :(得分:0)

首先,结果需要是一个对象,而不是一个数组

有很多方法可以做到这一点,因为天空中有星星,一种方法是使用Array reduce

var foo = [1, 2, 3];
var bar = ['a', 'b', 'c'];
var result = foo.reduce(function(result, item, index) { 
    result[item] = bar[index]; 
    return result; 
}, {});
console.log(result);

另一方面,如果预期结果是

[ {1:'a'}, {2:'b'}, {3:'c'} ]

然后你可以使用Array map

var foo = [1, 2, 3];
var bar = ['a', 'b', 'c'];
var result = foo.map(function(item, index) {
    var obj = {};
    obj[item] = bar[index];
    return obj;
});
console.log(result);

注意:ES2015 +使上述代码更简单

var foo = [1, 2, 3];
var bar = ['a', 'b', 'c'];
var result = foo.map((item, index) => ({[item]: bar[index]}));
console.log(result);