O que é o ninho?

ninho ocorre quando uma estrutura de loop é fechada dentro de outra. Tanto o loop externo quanto o loop interno podem ser controlados usando um definitivo ou um indefinido Condição de continuação de loop.

- Ninho de loops definidos:
Se ambos os loops forem loops definidos, as seguintes diretrizes se aplicam:
-O loop externo deve ser controlado usando uma condição definitiva de continuação de loop, e o loop interno também deve ser controlado usando uma condição de continuação de loop definitiva.
- O loop interno iterará seu conjunto completo de iterações para cada iteração do loop externo, e o loop externo iterará todo o seu conjunto de iterações à medida que o loop interno completa cada um de seus conjuntos de iteração.

- ninho de loops indefinidos:
Se ambos os loops forem loops indefinidos, as seguintes diretrizes se aplicam:
- Cada loop deve ser controlado usando uma condição de continuação de loop indefinida.
- qualquer loop pode potencialmente executar indefinidamente.
- Se um dos loops executar indefinidamente e o outro não, o processo de loop nunca terminará.

- ninho de um loop definido e indefinido:
Se um dos loops for um loop definido e o outro é um loop indefinido, as diretrizes que se aplicam aos loops indefinidos são usados.

Aqui está um exemplo de loops `para` aninhados em JavaScript para encontrar os principais fatores de um determinado número:

`` `JavaScript
função findPrimefactors (número) {
// Inicialize uma matriz vazia para armazenar fatores primos
Seja PrimeFactors =[];

// iterar em todos os números de 2 para a raiz quadrada do número de entrada
para (vamos i =2; i <=math.sqrt (número); i ++) {
// Se o número de entrada for divisível pelo número atual sem restante
enquanto (número % i ==0) {
// Adicione o número atual à lista de fatores primos
PrimeFactors.push (i);
// Divida o número de entrada pelo número atual
número /=i;
}
}

// Se o número de entrada for maior que 1, é um número primo, então adicione -o à lista
if (número> 1) PrimeFactors.push (número);

// retorna a lista de fatores primos
retornar os PrimeFactors;
}
`` `

No exemplo acima, o loop externo `for` itera através de todos os números de 2 para a raiz quadrada do número de entrada. Para cada valor de `i`, o loop interno` while 'verifica se o número de entrada é divisível por `i`. Se for, o loop interno continua dividindo o número por `i` até que não seja mais divisível, adicionando cada 'i` à matriz' Primefactors '. Depois que o loop interno é concluído, o loop externo se move para o próximo valor de `i`. O processo continua até que o número de entrada não seja mais divisível por nenhum número que não seja. Nesse ponto, o número de entrada é Prime e é adicionado à matriz 'Primefactors'. Finalmente, a função retorna a matriz 'Primefactors'.

Os loops de nidificação podem ser usados ​​para resolver vários problemas que exigem iteragem por várias sequências ou estruturas de dados. Eles permitem que você crie estruturas de controle complexas e realize operações diferentes com base em combinações de condições.