Tengo la siguiente función que separa una matriz en fragmentos de matrices, pero no puedo recorrer cada uno solo, siempre obtengo el resultado para el ciclo for como indefinido
function splitArrayIntoChunksOfLen(arr, len) { var chunks = [], i = 0, n = arr.length; while (i < n) { chunks.push(arr.slice(i, i += len)); } return chunks; } var alphabet=['a','b','c','d','e','f']; var alphabetPairs=splitArrayIntoChunksOfLen(alphabet,2); //split into chunks of two console.log(alphabetPairs); // the problem is in the below for loop for (let x = 0; x < alphabetPairs.length, x++;) { console.log(x); }la función split da el siguiente resultado:
0: Array [ "a", "b" ] 1: Array [ "c", "d" ] 2: Array [ "e", "f" ] length: 3ahora quiero recorrer cada conjunto de estos y realizar una acción específica hasta que todos los conjuntos terminen, pero no sé qué me estoy perdiendo.
Agradecerá su amable ayuda.
Gracias
Usé el siguiente para bucles y funcionó para mí
for (let z = 0; z < lines.length; z++) { for (let j = 0; j < lines[z].length; j++) { } }Debe usar funciones de devolución de llamada. Entonces, el problema es que el ciclo escrito para copiar la matriz de pares de alfabetos se compila antes que la generación de pares de alfabetos. Puede utilizar funciones de devolución de llamada para resolver los problemas.
function splitArrayIntoChunksOfLen(arr,myFunc, len) { var chunks = [], i = 0, n = arr.length; while (i < n) { chunks.push(arr.slice(i, i += len)); } myFunc(chunks) } const printingHandler=(myNewArray)=>{ console.log(myNewArray) } var alphabet=['a','b','c','d','e','f']; splitArrayIntoChunksOfLen(alphabet,printingHandler,2); //split into chunks of two