我有一个问题,我不明白为什么当第一个值为0时,arr.slice不起作用,返回的数组为空:
function chunkArrayInGroups(arr, size) {
var newArr = [];
for (var i = 0; arr[i]; i += size) {
newArr.push(arr.slice(i, i + size));
}
return newArr;
}
console.log(chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6], 3));
您以条件结束直接循环,条件为false
。
arr[i] -> arr[0] -> 0 -> false -> end for loop
使用数组的长度作为检查
for (var i = 0; i < arr.length; i += size) {
// ^^^^^^^^^^^^^^
function chunkArrayInGroups(arr, size) {
var newArr = [];
for (var i = 0; i < arr.length; i += size) {
newArr.push(arr.slice(i, i + size));
}
return newArr;
}
console.log(chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6], 3));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句