【发布时间】:2016-05-17 12:26:03
【问题描述】:
我正在尝试将多维数组的所有元素组合成一个元素组合。
例如如果我有
var array = [
['a'],
['1', '2', '3', '4'],
['A']
];
结果必须如下所示:
["a1A", "a2A", "a3A", "a4A"]
我可以用下面的代码实现这个结果:
var finalArray = [];
var f1 = 0;
for (var i = 0; i < array.length - 1; i ++) {
f1 = 0;
for (var j = 0; j < array[i].length; j ++) {
for (var k = 0; k < array[i + 1].length; k ++) {
if (finalArray[f1])
finalArray[f1] += array[i + 1][k];
else
finalArray[f1] = array[i][j] + array[i + 1][k];
f1 ++;
}
}
}
console.log(finalArray);
问题是如果我向第一个或最后一个成员添加更多元素,它不会按预期工作。
例如这个数组
var array = [
['a', 'b'],
['1', '2', '3', '4'],
['A']
];
返回:
["a1A", "a2A", "a3A", "a4A", "b1", "b2", "b3", "b4"]
应该是:
["a1A", "a2A", "a3A", "a4A", "b1A", "b2A", "b3A", "b4A"]
非常感谢您对修复我的代码的任何帮助。
【问题讨论】:
标签: javascript arrays multidimensional-array