Lecciones del módulo (3/4)
break y continue
Dos palabritas muy útiles dentro de un bucle:
breaksale inmediatamente del bucle más interno.continuesalta 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":
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]); // -2Ejemplo con break explícito:
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; // 2continue: saltar al siguiente
Cuando no te interesa un elemento pero quieres continuar el bucle:
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]); // 12En 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
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).
Mostrar pista
Un return dentro del for funciona como break + return simultáneamente.
Solución disponible después de 3 intentos
Ejercicio de repaso
Define `sumSkippingZeros(nums)` que sume todos los elementos excepto los ceros exactos. Usa continue.
Mostrar pista
Si n === 0, continue; en caso contrario, acumula.
Solución disponible después de 3 intentos