我用下面的函数解决了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 –