如何在JavaScript中压缩两个数组?

时间:2014-02-25 13:30:33

标签: javascript arrays

我有2个阵列:

var a = [1, 2, 3]
var b = [a, b, c]

我想得到的结果是:

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

看起来很简单,但我无法弄明白。

我希望结果是一个数组,两个数组中的每个元素都压缩在一起。

2 个答案:

答案 0 :(得分:129)

使用map方法:

var a = [1, 2, 3]
var b = ['a', 'b', 'c']

var c = a.map(function(e, i) {
  return [e, b[i]];
});

console.log(c)

DEMO

答案 1 :(得分:8)

Array.prototype.map() is not supported in older browsers

Feature       Chrome Firefox (Gecko) Internet Explorer  Opera Safari
Basic support (Yes) 1.5      (1.8)   9                  (Yes) (Yes)

这是一种适用于任何地方的替代方案。

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

var c = [];
for (var i = 0; i < a.length; i++){
   c.push([a[i], b[i]]);
}
console.log(c); // [[1, "a"], [2, "b"], [3, "c"]]