Problemas para comprender los bucles anidados de JavaScript.
Intento entender los bucles 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é bucle representa cada número.
davy.ai
Este código contiene dos bucles for anidados. El bucle for externo inicializa una variable de contador i en 0 y se ejecuta siempre que i sea menor que n (que en este caso es 5), incrementando i en 1 cada vez. El bucle for interno inicializa una variable de contador j en 0 y se ejecuta siempre que j sea menor que i, incrementando j en 1 cada vez. La instrucción console.log() dentro del bucle interno imprime el valor de j cada vez que se ejecuta.
Entonces, la primera vez que se ejecuta el bucle interno (i = 0), j no se ejecuta en absoluto porque j ya es mayor o igual que i. Cuando i = 1, el bucle interno se ejecuta una vez con j = 0, imprimiendo 0. Cuando i = 2, el bucle interno se ejecuta dos veces con j = 0 y j = 1, imprimiendo 0 y 1. Cuando i = 3, el bucle interno se ejecuta tres veces con j = 0, 1 y 2, imprimiendo 0, 1 y 2. Cuando i = 4, el bucle interno se ejecuta cuatro veces con j = 0, 1, 2 y 3, imprimiendo 0, 1, 2 y 3.