2016-11-18 65 views
1

我写了一个函数,它有两个参数:(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"], []]

回答

5

你误会什么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));

相关问题