Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 1.9 KB

L3_ES6_13_forin.md

File metadata and controls

59 lines (43 loc) · 1.9 KB

for ... in

Il costrutto for...in fornisce un modo per enumerare le proprietà di un oggetto.

for/in

for(variabile in collezion){
    frasi
}

In ES6, è più comune utilizzare il ciclo for...of per iterare attraverso gli elementi di un array o di un oggetto iterabile, mentre il ciclo for...in viene utilizzato per iterare attraverso le chiavi (proprietà) di un oggetto. Ecco un esercizio che mostra come funziona il ciclo for...in:

Obiettivo dell'esercizio: Utilizzare un ciclo for...in per iterare attraverso le chiavi di un oggetto e stamparle.

// Definire un oggetto con alcune chiavi
const person = {
  nome: "Mario",
  cognome: "Rossi",
  età: 30,
  professione: "Ingegnere"
};

// Utilizzare il ciclo for...in per iterare attraverso le chiavi dell'oggetto
console.log("Chiavi dell'oggetto 'person':");
for (const key in person) {
  console.log(key);
}

In questo esercizio, abbiamo un oggetto chiamato person con alcune chiavi come "nome", "cognome", "età" e "professione". Utilizzando il ciclo for...in, iteriamo attraverso le chiavi dell'oggetto e stampiamo ciascuna chiave a console. Questo è utile quando si desidera ottenere l'elenco delle chiavi di un oggetto per scopi di introspezione o manipolazione dei dati.

E' anche possibile iterare col for...in su un array (che in JS è un oggetto), ma non è una pratica consigliata.


Object.keys

Object.keys è un modo per ricevere le chiavi di un oggetto sotto forma di array

const SYM = Symbol();
const o={a:1,b:2,c:3,[SYM]:4}; 
Object
    .keys(o).
    forEach(prop => console.log(`${prop}: ${o[prop]}`));

ad esempio per listare tutte le proprietà di un oggetto che cominciano per x:

const o = { apple: 1, xochitl: 2, balloon: 3, guitar: 4, xylophone: 5 };
Object.keys(o)
.filter(prop => prop.match(/^x/))
.forEach(prop => console.log(`${prop}: ${o[prop]}`));