JavaScript aninhado para loops
Este tutorial explica o conceito de loops aninhados em JavaScript. Um loop é uma estrutura de programação usada para iterar por meio de uma série de dados ou executar a mesma ação repetidamente até que uma condição específica seja atendida ou por um determinado período de tempo sem escrever explicitamente o código repetidas vezes. Um loop for
aninhado é uma composição de loops. Podemos ter um ou mais loops presentes dentro de um loop. O loop aninhado é chamado de loop interno e o loop que contém o loop aninhado é chamado de loop externo.
A execução sempre começa com o loop externo e, em seguida, desce nos loops aninhados. Os loops internos são executados completamente em cada iteração do loop externo. Podemos definir amplamente a sintaxe para um loop aninhado como:
Outerloop {
Innerloop {
// statements to execute inside inner loop
}
// statements to execute inside outer loop
}
O loop pode ser de qualquer tipo, como loop for
, loop while
ou loop do-while
.
Vamos considerar um array 2D arr[2][3] = [[1,2],[3,4],[5,6]]
e queremos imprimir todos os elementos. Precisamos de dois loops para isso. Um para iterar todos os subarrays e todos os elementos dentro desses subarrays.
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;
}
Resultado:
1
2
3
4
5
6
Visitamos iterar sobre todos os subarrays presentes dentro do array.
-
Primeira Iteração
i=0:
-
Iteração de loop interno 1:
j=0
Imprimir 1 -
Iteração de loop interno 2:
j=1
Impressão 2
-
-
Segunda Iteração
i=1:
-
Iteração do loop interno 1:
j=0
Imprimir 3 -
Iteração de loop interno 2:
j=1
Impressão 4
-
-
Terceira Iteração
i=2:
-
Iteração de loop interno 1:
j=0
Imprimir 5 -
Iteração de loop interno 2:
j=1
Imprimir 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