Il ciclo for, for...in, for...of in Javascript

Il ciclo for, for...in, for...of in Javascript

I loop vengono utilizzati nella programmazione per automatizzare le attività ripetitive. I tipi più elementari di loop utilizzati in JavaScript sono le istruzioni while e do…while.

Il for loop è un tipo di ciclo che utilizzerà fino a tre espressioni facoltative per implementare l'esecuzione ripetuta del blocco di codice.

indice

Sintassi dei cicli For

Sintassi di For Loop

// for loop for (initialization; condition; final expression) { // codice da eseguire };

Esempio:

Dichiariamo una variabile chiamata i con la parola chiave let e le assegniamo un valore (in questo caso 0)
Sebbene la variabile possa essere nominata in qualsiasi modo, i viene usata più frequentemente. La variabile i sta per iterazione, è coerente e mantiene il codice compatto.

Abbiamo già stabilito che la nostra variabile di iterazione, i, rappresenta 0 per iniziare.
Ora stiamo dicendo che la condizione è VERA fintanto che i è minore di 4 in questo esempio.

L'espressione finale è un'istruzione che viene eseguita alla fine di ogni ciclo.
Viene spesso utilizzato per aumentare o diminuire un valore, ma può essere utilizzato per qualsiasi scopo.

for (let i = 0; i < 4; i++) { // stampa ogni iterazione in console console.log(i); };

Sintassi di For Loop (senza inizializzazione)

Tutte e tre le espressioni nel ciclo for sono facoltative.
Ad esempio, possiamo scrivere la stessa istruzione for senza l'espressione di inizializzazione inizializzando la variabile al di fuori del ciclo.

let i = 0; for(;i < 4; i++) { console.log(i); };

Sintassi di For Loop (senza condizione)

E' possibile anche rimuovere la condizione dal ciclo.
Useremo un'istruzione if combinata con break per dire al ciclo di interrompere l'esecuzione una volta che i è maggiore di 3.
Cioè finché la l'istruzione if è vera esegui, poi break; (interrompi)

let i = 0; for(; ; i++) { if (i > 4) { //IMPORTANTE //L'istruzione break deve essere inclusa. Se la condizione viene omessa il ciclo verrà eseguito per sempre come ciclo infinito e potenzialmente si arresterà in modo anomalo il browser. break; }; console.log(i); };

Sintassi di For Loop (senza espressione finale)

L'espressione finale può essere rimossa inserendola invece alla fine del ciclo.
Entrambi i punti e virgola devono essere ancora inclusi, altrimenti il ciclo non funzionerà

let i = 0; for(; ;) { if (i > 4) { /* IMPORTANTE L'istruzione break deve essere inclusa. Se la condizione viene omessa il ciclo verrà eseguito per sempre come ciclo infinito e potenzialmente si arresterà in modo anomalo il browser. */ break; }; console.log(i); i++; };

Sintassi di For Loop (per modificare un array)

È possibile usare il ciclo for per modificare un Array

//creazione di un array vuoto let mioarray = []; //inizializza il ciclo per 4 esecuzioni for (let i = 0; i < 4 ; i++) { // aggiorna l'array con il valore della variabile mioarray.push(i); console.log(mioarray) }; /* output: [ 0 ] [ 0, 1 ] [ 0, 1, 2 ] [ 0, 1, 2, 3 ] */

Sintassi di For Loop (per la lunghezza dell'array)

A volte, potremmo aver bisogno di eseguire un ciclo un numero di volte senza essere certi del numero di iterazioni. Invece di dichiarare un numero statico, come abbiamo fatto negli esempi precedenti, possiamo utilizzare la proprietà length di un array per fare in modo che il ciclo venga eseguito tante volte quante sono le voci nell'array.

//Dichiarazione di un array con 3 elementi let frutta = ["Banana","Arancia","Mela"]; // Inizializza il ciclo for per la lunghezza totale dell'array for (let i = 0; i < frutta.length ; i++) { // aggiorna l'array con il valore della variabile console.log(frutta[i]); }; /* output: Banana Arancia Mela */ /* In questo esempio, incrementiamo ogni indice dell'array con frutta[i] ad es. il ciclo aumenterà di frutta[0], frutta[1], ecc... Ciò fa sì che l'indice si aggiorni dinamicamente ad ogni iterazione. */

Sintassi di For..in Loop

L'istruzione for…in esegue un'iterazione sulle proprietà di un oggetto.

// Creazione di un oggetto con le sue proprietà const limone = { provenienza: "Costiera Amalfitana", colore: "Giallissimo", quantita: "Infiniti" }; // per accedere alle proprietà dell'oggetto for (attributi in limone) { console.log(attributi) }; /* Output: provenienza colore quantita */ // per accedere ai valori delle proprietà for (attributi in limone) { console.log(limone[attributi]) }; /* Output: Costiera Amalfitana Giallissimo Infiniti */ // per modificare for (attributi in limone){ console.log(`${attributi}`.toUpperCase() + `: ${limone[attributi]}`); }; /* Output: PROVENIENZA: Costiera Amalfitana COLORE: Giallissimo QUANTITA: Infiniti */ // Stessa cosa vale anche per gli array const arance = ["dolci","amare","aspre"]; for(attributi in arance){ console.log(arance[attributi]); };

Sintassi di For..of Loop

L'istruzione for...of è una funzionalità più recente di ECMAScript 6, ed è buono usarlo per iterare sopra gli array e le stringhe.
L'istruzione for...of a differenza di for..in può essere usato solo sugli array, map, set e arguments.

Quindi, osservando le differenze di entrambe le istruzioni for, posso dire che:

  • for...in può essere utilizzato nella maggior parte dei casi poiché lo useresti sia con Objects che Arrays e puoi anche ottenere i valori delle proprietà usando le loro chiavi.
  • Tuttavia, quando lavori solo con gli array e ti preoccupi solo dei valori delle proprietà, starai meglio con il for...of
let lista = [4, 5, 6]; //usando for of for (let i of lista) { console.log(i); // output: "4", "5", "6" }; //usando for in for (let i in lista) { console.log(i); // output: "0", "1", "2", };

Esempio sui Cicli for, for...in e for...of in Javascript

testo di esempio .testo di esempio .testo di esempio .testo di esempio .testo di esempio .

testo di esempio .testo di esempio .testo di esempio .testo di esempio .testo di esempio .

Tabella

Codice della lezione: Il Ciclo for in Javascript

/* esempio di creazione di una tabella con ciclo for innestato*/ let tabella = ''; tabella += ''; for(let i = 0; i < 1; i++) { tabella += ''; for(let i = 0; i < 5; i++) { tabella += ''; } tabella += ''; }; for(let i = 0; i < 4; i++) { tabella += ''; for(let i = 0; i < 5; i++) { tabella += ''; } tabella += ''; } tabella += ''; tabella += '
Titolo Cella ' + i + '
Cella ' + i + '
'; document.getElementById('tabella').innerHTML = tabella; /* Esempio di ciclo for con creazione struttura html*/ let conteggio = 1; let div = '
'; for(let i=10;i < 20;i++) { div += '<p id="txtID' + i + '">Questo parafrafo è stato creato con ciclo for ed è : ' + conteggio++ ; div += '

'; } div += '
'; document.getElementById('nuovastruttura').innerHTML = div; // Esempio di ciclo for con interruzione (break) una volta raggiunto l'obiettivo let myArray = [1,2,3,4,5,6,7,8,9,10,11,12]; for(let i=0;i < myArray.length; i++) { if(myArray[i] === 5) { break; } console.log('iterazione' + i) }; // Esercizio con For for(let i=0; i < 10;i++) { document.write(i); console.log(i); }

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2022
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram