1
我想解決這個問題:編寫一個函數,將數組(第一個參數)拆分成組的大小(第二個參數)並將它們返回爲多維數組。例如:無法讀取未定義的多維數組的屬性'推'
chunk(['a', 'b', 'c', 'd'], 2)
應該返回
[['a'. 'b'], ['c', 'd']]
我的代碼如下:
function chunk(arr, size) {
var newArr = [[]];
for(i = 0; i < arr.length; i++) {
for(j = 0; j < size; j++) {
newArr[i].push(arr[i + j]);
}
}
return newArr;
}
它給出了一個錯誤:無法讀取的未定義的屬性 '推'。爲什麼會發生這種情況,我該如何解決這個問題?
有人可以解釋爲什麼有第5行休息嗎? – Andrew
假設'size' = 3,但最初的'arr'有7個成員。最後一個「塊」將只包含1個元素 - 在此之後,將不再有成員填充最後一個塊中剩餘的2個點。這是'break'來的地方。 – Glorfindel