这个问题以前可能有人问过,我只是不知道如何搜索这个特定的场景。
我有几个数组(总是相同的长度)
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);
或者甚至:
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 === 3
和arrays[i].length === 4
。
关于javascript - 多个数组到多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33997770/