JavaScript annidato per cicli
Questo tutorial spiega il concetto di cicli nidificati in JavaScript. Un bucle è una struttura di programmazione utilizzata per iterare attraverso una serie di dati o eseguire ripetutamente la stessa azione fino a quando non viene soddisfatta una condizione specifica o per un certo periodo di tempo senza scrivere esplicitamente il codice ancora e ancora. Un cicli for
annidato è una composizione di cicli. Possiamo avere uno o più loop presenti all’interno di un loop. Il bucle annidato è chiamato bucle interno e il bucle contenente il bucle annidato è chiamato bucle esterno.
L’esecuzione inizia sempre con il bucle esterno e quindi si sposta lungo i cicli annidati. I cicli interni vengono eseguiti completamente in ogni iterazione del bucle esterno. Possiamo definire a grandi linee la sintassi per un bucle annidato come:
Outerloop {
Innerloop {
// statements to execute inside inner loop
}
// statements to execute inside outer loop
}
Il bucle può essere di qualsiasi tipo come cicli for
, cicli while
o bucle do-while
.
Consideriamo un array 2D arr[2][3] = [[1,2],[3,4],[5,6]]
e vogliamo stampare tutti gli elementi. Avremo bisogno di due loop per questo. Uno per iterare tutti i sottoarray e iterare tutti gli elementi all’interno di quei sottoarray.
function print(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
console.log(arr[i][j]);
}
}
return;
}
Produzione:
1
2
3
4
5
6
Visitiamo iterare su tutti i sottoarray presenti all’interno dell’array.
-
Prima iterazione
i=0:
-
Iterazione 1 del bucle interno:
j=0
Stampa 1 -
iterazione del bucle interno 2:
j=1
Stampa 2
-
-
Seconda iterazione
i=1:
-
Iterazione 1 del bucle interno:
j=0
Stampa 3 -
iterazione del bucle interno 2:
j=1
Stampa 4
-
-
Terza iterazione
i=2:
-
Iterazione 1 del bucle interno:
j=0
Stampa 5 -
iterazione del bucle interno 2:
j=1
Stampa 6
-
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn