【问题标题】: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"], []]

【问题讨论】:

    标签: javascript


    【解决方案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));

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-22
      • 2020-09-16
      • 2017-12-11
      • 2012-06-27
      相关资源
      最近更新 更多