Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

99
Vistas
Problemas en la comprensión de javascript anidado para bucles

Intento entender los bucles for anidados en javascript , pero es muy confuso.

Tengo este código y no puedo entender cómo funciona:

 let n = 5; for (let i = 0; i < n; i++) { for (let j = 0; j < i; j++) { console.log(j); }}

En la consola tengo: 0 1 0 1 2 0 1 2 3

Y estoy tratando de averiguar qué ciclo representa cada número.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Ejecuta este código:

 let n = 5; let str = ''; for (let i = 0; i < n; i++) { for (let j = 0; j < i; j++) str += j; console.log("Outer: "+i+" Inner: "+str); str = ''; }

La salida es:

 Outer: 0 Inner: Outer: 1 Inner: 0 Outer: 2 Inner: 01 Outer: 3 Inner: 012 Outer: 4 Inner: 0123

Como puede ver, en el resultado anterior, el ciclo interno (el que tiene la variable j ) no se ejecuta, porque si reemplaza las variables con números, sería 0 < 0 (i < 0), lo cual no es cierto.

La mejor manera de comprender cómo funcionan los bucles anidados es escribir cada paso y los valores de las variables en el papel, así:

norte = 5

PASO 1:

  • yo = 0
  • i < n (0 < 5) VERDADERO
    • j = 0
    • j < i (0 < 0) FALSO bucle interno no se ejecuta
  • SALIDA: "Outer: 0 Inner:"
  • cadena = ''

PASO 2:

  • yo = 1
  • i < n (1 < 5) VERDADERO
    • j = 0
    • j < i (0 < 1) VERDADERO
    • cadena = 0
    • j = 1 (j++)
    • j < yo (1 < 1) FALSO
  • SALIDA: "Outer: 1 Inner: 0"
  • cadena = ''

Y así sucesivamente... Sigue repitiendo esto hasta que el argumento en el bucle exterior sea falso (i < n).

Debes recordar, en for loop la secuencia de órdenes ejecutadas:

 for(let i = 0; i < 5; i++) { console.log('It works'); }
  1. sea i = 0; (esto se ejecuta solo una vez)

  2. i < 5 (si es cierto ejecutar 3 y 4)

  3. ejecutar el código en bucle

  4. yo ++

  5. i < 5 (si es verdadero ejecutar 6 y 7)

  6. ejecutar el código en bucle

  7. yo ++

etc.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda