2016-11-18 66 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));

相關問題