我用下面的函數解決了FreeCodeCamp的一個算法挑戰,但是我想知道這是否是一個「好」的方法來解決這個問題,最具體地說,因爲我將計數器設置爲i + = 0並且從頭開始拼接索引。我在這裏創建了一個反模式嗎?有什麼更合乎邏輯的,你能解釋爲什麼嗎?預先感謝您的幫助!將陣列拆分爲二維陣列:是否有更好的解決方案?
function chunk(arr, size) {
var newArr = [];
for (i=0; i<arr.length; i+=0) {
var sliced = arr.slice(i, size);
newArr.push(sliced);
arr.splice(0, size);
}
return newArr;
}
chunk([0, 1, 2, 3, 4, 5, 6, 7, 8], 4);
returns--> [ [ 0, 1, 2, 3 ], [ 4, 5, 6, 7 ], [ 8 ] ]
你可以看看'Array.slice()'。此外,如果這個問題的目標是尋求改進,你應該嘗試CodeReviews,而不是 – Rajesh
我投票結束這個問題作爲題外話,因爲它要求codereview。請訪問codereview.stackexchange.com –