2017-04-19 2 views
0

Problem: Schreiben Sie eine Funktion, die ein Array (erstes Argument) in Gruppen der Länge der Größe (zweites Argument) aufteilt und sie als zweidimensionales Array zurückgibt.FreeCodeCamp Chucky Monkey

Warum funktioniert das nicht stattdessen? for(var i = 0; i < arr.length; i+=size)

function chunkArrayInGroups(arr, size) { 
    // Break it up 
    // It's already broken :(
    arr = arr.slice(); 
    var arr2 = []; 
    for(var i = 0, len = arr.length; i < len; i+=size) 
    { 
     arr2.push(arr.slice(0, size)); 
     arr = arr.slice(size); 
    } 
    return arr2; 
} 

Antwort

0

Sein, weil jedes Mal, für Schleife läuft, wird die Größe des Arrays geändert, und Sie verwenden die geänderte Feldlängen wieder in der Schleife.

So halten Sie einen variablen Zeiger auf die Länge des Arrays außerhalb der Schleife, so dass Sie den Überblick verlieren ursprünglichen Feldlänge

nicht
Verwandte Themen