Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

104
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda