Cosa sta nidificando?

Nesting si verifica quando una struttura a loop è racchiusa in un'altra. Sia il ciclo esterno che il ciclo interno potrebbero essere controllati usando un definito o un indefinito Condizione di continuità del loop.

- Nesting di loop definiti:

Se entrambi i loop sono loop definiti, si applicano le seguenti linee guida:

-Il ciclo esterno deve essere controllato utilizzando una condizione definita di continuità ad anello e il ciclo interno deve essere controllato anche usando una condizione definita di continuità ad anello.

- Il ciclo interno ripeterà il suo set completo di iterazioni per ogni iterazione del ciclo esterno e il ciclo esterno iterirà l'intera serie di iterazioni mentre il ciclo interno completa ciascuno dei suoi set di iterazione.

- Nesting di loop indefiniti:

Se entrambi i loop sono loop indefiniti, si applicano le seguenti linee guida:

- Ogni ciclo deve essere controllato utilizzando una condizione di continuità ad anello indefinito.

- Entrambi i loop possono potenzialmente eseguire indefinitamente.

- Se uno dei loop esegue indefinitamente e l'altro no, il processo di looping non finirà mai.

- Nesting di un ciclo definito e indefinito:

Se uno dei loop è un ciclo definito e l'altro è un ciclo indefinito, vengono utilizzate le linee guida che si applicano ai loop indefiniti.

Ecco un esempio di loop `per` per Javascript nidificati per trovare i principali fattori di un determinato numero:

`` `JavaScript

funzione findprimefactors (numero) {

// Inizializza un array vuoto per archiviare i fattori primi

let PrimeFactors =[];

// itera tutti i numeri da 2 alla radice quadrata del numero di input

per (let i =2; i <=math.sqrt (numero); i ++) {

// Se il numero di input è divisibile dal numero corrente senza resto

while (numero % i ==0) {

// Aggiungi il numero corrente all'elenco dei fattori primi

primefactors.push (i);

// Dividi il numero di input per il numero corrente

numero /=i;

}

}

// Se il numero di input è maggiore di 1, è un numero primo, quindi aggiungilo all'elenco

if (numero> 1) primefactors.push (numero);

// restituisce l'elenco dei fattori primi

restituire Primefactors;

}

`` `

Nell'esempio sopra, il ciclo esterno etera attraverso tutti i numeri da 2 alla radice quadrata del numero di input. Per ogni valore di `io`, il ciclo interno` mentre il loop controlla se il numero di input è divisibile da `I`. Se lo è, il ciclo interno continua a dividere il numero per `io` fino a quando non è più divisibile, aggiungendo ciascuno `I` all'array di` primifactors '. Una volta completato il ciclo interno, il ciclo esterno si sposta al valore successivo di `I`. Il processo continua fino a quando il numero di input non è più divisibile da alcun numero diverso da se stesso. A quel punto, il numero di input è primo e viene aggiunto all'array `Primefactors`. Infine, la funzione restituisce l'array "Primefactors".

I loop di nidificazione possono essere utilizzati per risolvere vari problemi che richiedono l'iteratura su più sequenze o strutture di dati. Ti consentono di creare strutture di controllo complesse ed eseguire operazioni diverse basate su combinazioni di condizioni.