2016-11-18 2 views
1

Ich habe eine Funktion geschrieben, die zwei Parameter benötigt: (1) ein Array, (2) Größe des Chunks.Ein Array in Stücke einer bestimmten Größe aufteilen

function chunkArrayInGroups(arr, size) { 

    var myArray = []; 

    for(var i = 0; i < arr.length; i += size) { 
    myArray.push(arr.slice(i,size)); 
    } 

    return myArray; 
} 

Ich möchte dieses Array in Stücke der angegebenen Größe aufteilen.

chunkArrayInGroups(["a", "b", "c", "d"], 2) 

sollte zurückgeben: [["a", "b"], ["c", "d"]].

ich zurück: [["a", "b"], []]

Antwort

5

Sie falsch verstanden, was die slice Parameter bedeuten. Der zweite ist der Index, bis zu dem (nicht enthalten) Sie das Subarray erhalten möchten. Es ist keine Länge.

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

Verwandte Themen