我有一個數組:[1, 2, 3, 4, 5, 6, 7, 8, 9]
創建使用環路(JavaScript的)從一維陣列2D陣列
我想創建具有三個一維數組的2D陣列。函數變量中的每個NUM是每個1D數組的長度。 結果應該是[[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()')。 – nnnnnn
對不起,編輯。試圖幫助) –