javascript - 多个数组到多维数组

标签 javascript arrays multidimensional-array

这个问题以前可能有人问过,我只是不知道如何搜索这个特定的场景。

我有几个数组(总是相同的长度)

array1 = [value1a1, value2a1, value3a1];
array2 = [value1a2, value2a2, value3a2];
array3 = [value1a3, value2a3, value3a3];

我需要组合成一个如下所示的多维数组:

multiArray = [
                [value1a1, value1a2, value1a3],
                [value2a1, value2a2, value2a3],
                [value3a1, value3a2, value3a3]
];

最好的方法是什么?

最佳答案

var multiArray = [];
multiArray.push(array1);
multiArray.push(array2);
multiArray.push(array3);

Array.push()

或者甚至:

var multiArray = [array1, array2, array3];

JSFiddle example of 2nd approach

@MartijnOtto 是对的,我以前的解决方案是错误的。我没仔细读。我创建了一个new JSFiddle使用此代码:

var array1 = ["value1a1", "value2a1", "value3a1", "value4a1"];
var array2 = ["value1a2", "value2a2", "value3a2", "value4a2"];
var array3 = ["value1a3", "value2a3", "value3a3", "value4a3"];

var arrays = [array1, array2, array3];
var multiArray = [];

// initialize 2D array
for (var i=0; i<arrays[0].length; i++) {
    multiArray[i] = [];   
}
// fill values
for (var i=0; i<arrays.length; i++) {
    for (var j=0; j<arrays[i].length; j++) {
        multiArray[j].push(arrays[i][j]);
    }
}

result.innerHTML = JSON.stringify(multiArray, null, 2);

编辑:索引还有另一个小错误。在 JSFiddle 和此处的代码中修复了它,以便也可以处理不成比例的数组大小(例如:arrays.length === 3arrays[i].length === 4

关于javascript - 多个数组到多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33997770/

相关文章:

javascript - 如何将 ga.js 方法转换为analytics.js 代码

javascript - 获取数组中的对象,该对象具有一个属性,该属性是一个包含匹配值的数组

javascript - 如何相交两个数组并保留 key

java - 在Java中添加数组

Java多维数组被认为是原始或对象

javascript - 单击 div 内的按钮时关闭 div

javascript - 更改位置时出现 Safari 渲染问题 :fixed to position:relative

c# - 找出所有给定数组中公共(public)元素的最佳算法

java - n 维数组到 n 嵌套列表

JavaScript 窗口按比例调整大小