将数组拆分为给定大小的块[重复]
Posted
技术标签:
【中文标题】将数组拆分为给定大小的块[重复]【英文标题】:Splitting an array up into chunks of a given size [duplicate] 【发布时间】:2017-04-02 14:25:33 【问题描述】:我写了一个函数,它接受两个参数:(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"], []]
【问题讨论】:
【参考方案1】:您误解了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));
【讨论】:
以上是关于将数组拆分为给定大小的块[重复]的主要内容,如果未能解决你的问题,请参考以下文章