【发布时间】:2016-05-27 23:20:15
【问题描述】:
我有一个数组:[1, 2, 3, 4, 5, 6, 7, 8, 9]
我想用三个一维数组创建一个二维数组。函数变量中的每个 NUM 是每个一维数组的长度。
结果应该是[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
但我得到的只是,,3,,,6,,,9。我做错了什么?
function infiniteLoop(arr, num) {
var answer = [];
var count = 0;
for (let i = 0; i < num.length; i++) {
for (let j = 0; j < num[i]; j++, count++) {
answer[i] = [];
answer[i][j] = arr[count];
}
}
return answer;
}
document.write(infiniteLoop([1, 2, 3, 4, 5, 6, 7, 8, 9], [3, 3, 3]));
【问题讨论】:
-
请不要在您的问题中编辑建议,因为这会使您之前版本的问题的答案无效。关于您的编辑,您在错误的位置添加了
answer[i] = [];部分。再看看我的答案,或者托马斯的(但不要使用new Array())。 -
抱歉编辑。试图帮助)
标签: javascript arrays loops for-loop