He escrito una función que toma dos parámetros: (1) una matriz, (2) el tamaño del fragmento.
function chunkArrayInGroups(arr, size) { var myArray = []; for(var i = 0; i < arr.length; i += size) { myArray.push(arr.slice(i,size)); } return myArray; }
Quiero dividir esta matriz en trozos del tamaño dado.
chunkArrayInGroups(["a", "b", "c", "d"], 2)
debe devolver: [["a", "b"], ["c", "d"]]
.
Vuelvo: [["a", "b"], []]
Usted malentendió lo que significan los parámetros de slice
. El segundo es el índice hasta el cual (no incluido) desea obtener el subarreglo. No es una longitud.
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));