Iterovateln̩ kl̀e
důležitost: 5
ChtÄli bychom uložit pole klÃÄů mapy mapa.keys() do promÄnné a pak na nà volat metody specifické pro pole, napÅ. .push.
Tohle však nefunguje:
let mapa = new Map();
mapa.set("jméno", "Jan");
let klÃÄe = mapa.keys();
// Chyba: klÃÄe.push nenà funkce
klÃÄe.push("dalÅ¡Ã");
ProÄ? Jak můžeme opravit kód, aby klÃÄe.push fungovalo?
Je to proto, že mapa.keys() vracà iterovatelný objekt, ale ne pole.
Můžeme jej pÅevést na pole pomocà Array.from:
let mapa = new Map();
mapa.set("jméno", "Jan");
let klÃÄe = Array.from(mapa.keys());
klÃÄe.push("dalÅ¡Ã");
alert(klÃÄe); // jméno,dalÅ¡Ã