如何在JavaScript中将两个线性数组合并为二维数组?

时间:2016-10-08 02:42:00

标签: javascript arrays

例如:

var array1 = ["one", "two", "three"];
var array2 = ["1", "2", "3"];

如何将这些数组转换为var array = [["one", "1"], ["two", "2"], ["three", "3"]]

2 个答案:

答案 0 :(得分:6)

var array1 = ["one","two","three"],
    array2 = ["1","2","3"],
    newarray = array1.map(function(c, i) { return [ c, array2[i] ] });

alert(JSON.stringify(newarray));

这假设两个数组的长度始终相等。

https://jsfiddle.net/ddtybvo6/

答案 1 :(得分:0)

您可以将underscorezip功能一起使用:

var array1 = ["one", "two", "three"];
var array2 = ["1", "2", "3"];

_.zip(array1, array2);
// [["one", "1"], ["two", "2"], ["three", "3"]]
  

<强>拉链

     

将每个数组的值合并在一起   使用相应位置的值。有用的时候有用   通过匹配数组协调的单独数据源   索引。与apply一起使用传入一个数组数组。如果你是   使用嵌套数组矩阵,这可以用于转置   矩阵。

_.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]);
=> [["moe", 30, true], ["larry", 40, false], ["curly", 50, false]]