torna alle lezioni

Chiavi iterabili

importanza: 5

Vorremmo avere un array di map.keys() in una variabile, quindi potergli applicare un metodo specifico degli arrays, ad esempio .push.

Ma c’è un problema:

let map = new Map();

map.set("name", "John");

let keys = map.keys();

// Error: keys.push is not a function
keys.push("more");

Perché? Come possiamo sistemare il codice per rendere keys.push funzionante?

Questo accade perchè map.keys() ritorna un oggetto iterabile, non un array.

Possiamo convertirlo in un array utilizzando Array.from:

let map = new Map();

map.set("name", "John");

let keys = Array.from(map.keys());

keys.push("more");

alert(keys); // name, more