我需要帮助打破这段代码的工作原理?
function chunkArrayInGroups(arr, size) {
var newArr = [];
while (arr.length) {
newArr.push(arr.splice(0,size));
}
return newArr;
}
chunkArrayInGroups(["a","b","c","d"],2);
我不明白while(arr.length)是如何停止的以及整个代码的作用。请打破这个。
答案 0 :(得分:1)
Array.splice修改原始数组。当它在循环中被调用时,它会不断缩短原始数组,经过几次迭代后,arr.length
变为0并且计算结果为false。
答案 1 :(得分:1)
arr.splice(0,size)
Array.splice
会将索引0
中的元素移除到size
并将其作为新数组返回。
newArr.push(arr.splice(0,size));
然后将返回的数组推送到newArr
。
while (arr.length)
Array.splice
也会改变原始数组,因此arr
最终将变为空,循环将结束。
答案 2 :(得分:0)
while (arr.length)
执行,直到数组为空,因为当它为空时,arr.length
等于0
并且它被视为false
。< / p>
答案 3 :(得分:0)
虽然数组计数是&#34;可用&#34;完成所有后,推入newArr(并从根数组中删除它的某些项),返回