Itererbare nøgler
vigtighed: 5
Vi vil gerne have et array af map.keys() i en variabel og derefter anvende array-specifikke metoder på det, f.eks. .push.
Men det virker ikke:
let map = new Map();
map.set("name", "John");
let keys = map.keys();
// Fejl: keys.push er ikke en funktion
keys.push("more");
Hvorfor? Hvordan kan vi rette koden, så keys.push virker?
Det er fordi map.keys() returnerer en iterable, men ikke et array.
Vi kan konvertere det til et array ved hjælp af Array.from:
let map = new Map();
map.set("name", "John");
let keys = Array.from(map.keys());
keys.push("more");
alert(keys); // name, more