【发布时间】:2018-10-11 16:38:18
【问题描述】:
我正在尝试编写一个 for 循环,将数组(参数:arr)拆分为给定大小(参数:size)的子数组,但它似乎提前退出了 for 循环/实际上并未循环返回在。
这段代码应该返回[['a', 'b'] ['c', 'd']],但现在只返回[['a', 'b']]。
我已经尝试过研究,但我无法确定我的代码中阻止循环返回数组的原因。
function chunkArrayInGroups(arr, size) {
var newArr = [
[]
];
for (var i = 0; i < arr.length; i++) {
newArr[0].push(arr.shift(arr.slice(i, size)));
}
return newArr;
}
//calling the function:
console.log(chunkArrayInGroups(['a', 'b', 'c', 'd'], 2));
请帮我解决这个问题。
【问题讨论】:
-
您想要
[['a', 'b'] ['c', 'd']]还是[[['a', 'b'] ['c', 'd']]]?您将切片推送到newArr[0],而不是newArr,因此所有内容都应该嵌套一个额外的级别。
标签: javascript arrays algorithm for-loop iteration