将数组拆分为给定大小的块[重复]

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));

【讨论】:

以上是关于将数组拆分为给定大小的块[重复]的主要内容,如果未能解决你的问题,请参考以下文章

javascript 将数组拆分为相同大小的块

将数组拆分为不同大小的块(4、3、3、3、4、3、3、3 等)

JavaScript将数组拆分为内部的多个数组[重复]

将数组拆分为部分[重复]

python 将列表拆分为大小均匀的块

将字符串拆分为字符串数组[重复]