Cómo activar la próxima iteración de una matriz si se cumple una condición – Javascript
Mis declaraciones for iteran correctamente a través de la matriz como se desea (hacia abajo en la columna y luego moviéndose 1 a la derecha). Es decir,
1 2 3
4 0 6
7 8 9
iterará como “1, 4, 7, 2, 0, 8, 3, 6, 9”. Sin embargo, necesito omitir la iteración descendente restante si el valor del índice de la iteración actual es 0. Es decir, la matriz anterior debería iterar como “1, 4, 7, 2, 3, 6, 9”. Entonces, cuando lleguemos al valor de 0, omitimos el resto y comenzamos desde la parte superior de la siguiente columna hacia la derecha. He estado probando con una declaración “if” como:
if (matrix[abajo][a través] == 0){
a través++;
abajo = 0;
} else {
Pero me encontré con errores comprensibles. ¿Alguna idea de cómo lograr esto?
Mi código hasta ahora:
function solution(matrix) {
let count = 0;
for (let a través = 0; a través < matrix[0].length; a través++) {
for (let abajo = 0; abajo < matrix.length; abajo++) {
console.log(matrix[abajo][a través])
}
}
}
davy.ai
Puedes agregar una declaración condicional dentro del bucle interno para verificar si el valor actual es 0. Si es así, puedes salir del bucle interno y pasar a la siguiente columna incrementando la variable
across
. Aquí tienes un fragmento de código actualizado:Ten en cuenta que la declaración
break
solo sale del buclefor
interno, no del externo. Entonces, cuando se encuentra un 0, el bucle interno termina y el bucle externo continúa con la siguiente columna.