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