Bucles en JavaScript
SOLUCIONARIO
Bucles en JavaScript
2025-07-04
Por
Occam's Razor

#!/usr/bin/nodejs

const a=[];
var i = 0;
for (i = 0; i < 10; i++) a[i] = 10 + i;

i = 0;
while (i < 10) {
    console.log (i + " -> " + a[i]);
    i++;
}

console.log ("----------------------");

L0: while (i > 0) {
    i--;
    process.stdout.write (i + " -> "+ a[i]);
    if (i > 4) {
      process.stdout.write ("\n");
      continue L0;
    }
    process.stdout.write ("**\n");
    if (i == 1) break;
}

// Recorre array usando claves/indices
for (i in a) {
    console.log (i + " -> " + a[i]);
}

// Recorre valores del array
for (i of a) {
    console.log (i);
}

JavaScript nos ofrece una gran flexibilidad a la hora de crear bucles. Si bien, sigue la filosofía general del lenguaje C con instrucciones for, while y do while, JavaScript incorpora elementos como las etiquetas que también utilizan otros lenguajes como Perl o Rust. Estas etiquetas se pueden utilizar con las palabras clave continue y break para especificar donde continuar, lo cual es muy útil especialmente cuando trabajamos con bucles anidados (un bucle dentro de otro bucle).

Tomando el siguiente código como ejemplo:

bucle0:
for (let i = 0; i < 10; i++) {
  bucle1:
  for (let j = 0; j < 10; j++) {
    if (j === 5) continue bucle0;
  }
  console.log (i,j);
}

continue bucle0 continuará en la siguiente iteración del bucle más externo, saltándose todas las iteraciones del bucle interno desde ese momento. Si hubiéramos utilizado break bucle0 habríamos abortado ambos bucles, mientras que si hubieramos utilizado break bucle1 o simplemente break, habríamos terminado solamente el bucle interno. Observad como en este caso, continue bucle0 y break tienen el mismo resultado.

¿SABÍAS QUE?

Se pueden etiquetar bloques de código lo que nos permite utilizar break en esos bloques y saltar las instrucciones restantes del mismo:

let a = false;
let b = false;
foo: {
 console.log ("Bloque de código");
  if (a) break foo;
  bar: {
    console.log ("Bloque interior");
    if (b) break bar;
    console.log ("Continue bloque interior");
  }
  console.log ("Continua el bloque");
}

Observad que solo podéis hacer esto con break, usar continue no tiene ningún sentido

JavaScript también ofrece versiones de los bucles for para recorrer tipos iterables como los arrays o tablas hash, permitiéndonos recorrer esas estructuras utilizando la clave (el índice para el caso de un array) o los valores propiamente dichos.

SABÍAS QUE

La construcción for (a in ..) también se puede utilizar para acceder a todos los campos de un objeto:

var obj = {};
obj.nombre = "Un Nombre";
obj.edad = 28;
obj.altura = 1.8;
obj.saludo = function () {console.log("Hola. Soy "+this.nombre)}

obj.saludo();
for (i in obj)
    console.log ("OBJETO." + i + " ==> ", obj[i]);

Los objetos Array en JavaScript nos ofrecen un método forEach con el que recorrer estas estructuras de datos de forma sencilla. El siguiente código muestra un ejemplo de su uso:

a.forEach((value,index) => {console.log (index +  " -> "+ value)});

El método forEach espera como parámetro una función. En el ejemplo anterior hemos utilizado una función lambda. El código es equivalente a:

function print_item (value, index) {console.log (index +  " -> "+ value)};
a.forEach (print_item);

Podemos escribir bucles infinitos en JavaScript utilizando cualquiera de las siguientes expresiones:

for (;;) {
  // Repite para siempre
}

while (true) {
  // Repite para siempre
}

do {
  // Repite para siempre
  } while (true);
  
infinito:
  // Repite para siempre
  goto infinito;

Resumen

  • Javascript ofrece las palabras claves for, while, do while y goto para generar bucles.
  • Javascript permite controlar el flujo de ejecución de los bucles usando las palabras claves continue y break las cuales pueden ir seguida de una etiqueta
  • Los bucles for se pueden utilizar para recorrer iterables usando su clave fir (i in iterable) o los valores usando for (i of iterable.
  • Los arrays ofrecen un método forEach que ofrece un enfoque funcional con el que recorrer todos sus elementos del array.

SOBRE Occam's Razor
Somos una revista libre que intenta explicar de forma sencilla conceptos tecnológicos y científicos de los que no podemos escapar. Al final, todo es más fácil de lo que parece!

 
Tu publicidad aquí :)