Saltar al contenido principal
eLearner.app
Módulo 5 · Lección 3 de 419/32 en el curso~10 min
Lecciones del módulo (3/4)

break y continue

Dos palabritas muy útiles dentro de un bucle:

  • break sale inmediatamente del bucle más interno.
  • continue salta a la siguiente iteración, sin ejecutar el resto del cuerpo.

break: salir antes

Típico para "buscar el primero que cumple una condición":

JS
function primoNegativo(nums) {
  for (const n of nums) {
    if (n < 0) return n; // o: result = n; break;
  }
  return undefined;
}

primoNegativo([3, 7, -2, 4, -9]); // -2

Ejemplo con break explícito:

JS
let trovato = -1;
const nums = [10, 20, 30, 40, 50];
for (let i = 0; i < nums.length; i++) {
  if (nums[i] === 30) {
    trovato = i;
    break;
  }
}
trovato; // 2

continue: saltar al siguiente

Cuando no te interesa un elemento pero quieres continuar el bucle:

JS
function sommaPari(nums) {
  let totale = 0;
  for (const n of nums) {
    if (n % 2 !== 0) continue; // salta i dispari
    totale += n;
  }
  return totale;
}

sommaPari([1, 2, 3, 4, 5, 6]); // 12

En muchos casos un if (cond) { ... } sería equivalente; continue ayuda cuando el cuerpo es largo y quieres mantener el flujo plano (con poca anidación).

Pruébalo tú mismo

Ejercicio#js.m5.l3.e1
Intentos: 0Cargando...

Define `firstGreater(nums, threshold)` que devuelva el primer elemento de nums estrictamente mayor que threshold, o undefined si ninguno lo es. Usa break (o un return inmediato).

Cargando editor...
Mostrar pista

Un return dentro del for funciona como break + return simultáneamente.

Solución disponible después de 3 intentos

Ejercicio de repaso

Ejercicio#js.m5.l3.e2
Intentos: 0Cargando...

Define `sumSkippingZeros(nums)` que sume todos los elementos excepto los ceros exactos. Usa continue.

Cargando editor...
Mostrar pista

Si n === 0, continue; en caso contrario, acumula.

Solución disponible después de 3 intentos