Claves iterables
importancia: 5
Nos gustaría obtener un array de map.keys()
en una variable y luego aplicarle métodos específicos de array, ej. .push
.
Pero eso no funciona:
let map = new Map(); map.set("name", "John"); let keys = map.keys(); // Error: keys.push no es una función keys.push("more");
¿Por qué? ¿Cómo podemos arreglar el código para que funcione keys.push
?
Eso es porque map.keys()
devuelve un iterable, pero no un array.
Podemos convertirlo en un array usando Array.from
:
let map = new Map(); map.set("name", "John"); let keys = Array.from(map.keys()); keys.push("more"); alert(keys); // name, more