Nella lezione precedente, abbiamo visto il ciclo for
semplice. Ora, vediamo cosa è e come funziona il ciclo for
in
. Questo tipo di ciclo permette di iterare tutte le proprietà di un oggetto.
Come creare un ciclo for in
Per creare un ciclo for
in
, si utilizza la sintassi for(
nome in
oggetto){
... }
. Ad esempio:
let pc = {
marca: "HP",
modello: "Pavilion",
sistema: "Windows"
}
for(proprieta in pc){
// Istruzioni
}
Nell'esempio, troviamo proprieta
e pc
come parametri all'interno del for
. Sono rispettivamente nome e oggetto della sintassi di cui abbiamo parlato prima.
Nota: se non conosci gli oggetti, prova a leggere la lezione dedicata Gli oggetti.
Ecco cosa avviene quando avviamo il ciclo:
marca
dell'oggetto pc
.proprieta
. Nell'esempio, marca
diventa proprieta
all'interno del for
.for
.modello
dell'oggetto pc
.proprieta
. Nell'esempio, modello
diventa proprieta
all'interno del for
.for
.Il tutto si ripete per il numero di proprietà all'interno dell'oggetto.
Utilizzo dei dati nel ciclo for in
All'interno del blocco for
in
, il nome della proprietà dell'oggetto scelto è visibile. Ad esempio:
let pc = {
marca: "HP",
modello: "Pavilion",
sistema: "Windows"
}
for(proprieta in pc){
alert(proprieta);
// Risultato: "marca"
// Risultato: "modello"
// Risultato: "sistema"
}
Accedere ai valori dell'oggetto
Per accedere ai valori dell'oggetto, puoi usare la sintassi degli oggetti: oggetto[
proprieta]
.
let pc = {
marca: "HP",
modello: "Pavilion",
sistema: "Windows"
}
for(proprieta in pc){
alert(pc[proprieta]);
// Risultato: "HP"
// Risultato: "Pavilion"
// Risultato: "Windows"
}
Usare il ciclo for in per altri tipi di variabile
Puoi utilizzare questo ciclo anche per altri tipi di variabile. La sintassi e il funzionamento rimane uguale. Vediamo come funziona.
Con gli array
let numeri = [43, 12, 29, 10, 33];
for(proprieta in numeri){
alert(numeri[proprieta]);
// Risultato: 43
// Risultato: 12
// ...
}
Con le stringhe
let linguaggio = "JavaScript";
for(proprieta in linguaggio){
alert(linguaggio[proprieta]);
// Risultato: "J"
// Risultato: "a"
// ...
}
Terminare un ciclo
Per terminare un ciclo, si può utilizzare break
.
let linguaggio = "JavaScript";
for(proprieta in linguaggio){
alert(linguaggio[proprieta]);
// Risultato: "J"
// Risultato: "a"
// Risultato: "v"
if(linguaggio[proprieta] == "v"){
// Se la lettera è la "v", il ciclo si ferma
break;
}
}
Nell'esempio, vogliamo fermare il ciclo quando incontriamo la lettera "v".