Es wird erwartet, dass ich eine Funktion schreibe, die ein Array (erstes Argument) in Gruppen der Länge der Größe (zweites Argument) aufteilt und sie als zweidimensionales Array zurückgibt. Daher sollte chunkArrayInGroups (["a", "b", "c", "d"], 2) [["a", "b"], ["c", "d"]]Aufteilen eines Arrays in Gruppen
zurückgebenfunction chunkArrayInGroups(arr, size) {
// Break it up.
var result=[];
for (var i=0;i<=Math.ceil(arr.length/size);i++){
var j=0;
if(i!== 0){
j+=size;
size+=size;
}
result[i] = arr.slice(j , size);
}
//return arr.length/size
//results in 1.5
return result;
// results [["a", "b"], ["c", "d"]]
}
chunkArrayInGroups(["a", "b", "c", "d"], 2);
mir das gewünschte Ergebnis zu erzielen, aber ich bin nicht sehr zufrieden mit meiner Lösung, auch, was noch wichtiger ist „if“ arr.length = 4; und, Größe = 2; warum ist arr.length/size = 1? sollte es nicht 4/2 = 2 sein?
_ "was noch wichtiger ist, warum arr.length = 4" _ Original-Array 'arr' nicht durch die Verwendung von' .slice() 'auf' Ergebnis [i] betroffen ist = arr.slice (j, size); 'Soll das ursprüngliche Array geändert werden? – guest271314
Mögliches Duplikat von [Array in Stücke aufteilen] (http://StackOverflow.com/questions/8495687/split-array-into-chunks) – matsev