我编写了一个带有两个参数的函数:(1)一个数组,(2)块的大小。
function chunkArrayInGroups(arr, size) {
var myArray = [];
for(var i = 0; i < arr.length; i += size) {
myArray.push(arr.slice(i,size));
}
return myArray;
}
我想将此数组拆分为给定大小的块。
chunkArrayInGroups(["a", "b", "c", "d"], 2)
应该返回:[["a", "b"], ["c", "d"]]
。
我回来了:[["a", "b"], []]
答案 0 :(得分:15)
你误解了slice
参数的含义。第二个是你希望获得子阵列的索引(不包括在内)。这不是一个长度。
array.slice(from, to); // not array.slice(from, length)
function chunkArrayInGroups(arr, size) {
var myArray = [];
for(var i = 0; i < arr.length; i += size) {
myArray.push(arr.slice(i, i+size));
}
return myArray;
}
console.log(chunkArrayInGroups(["a", "b", "c", "d"], 2));