Modificar Maps
Una vez que se ha creado un objeto Map lo habitual es rellenarlo con los valores que va a almacenar. Pero también tenemos que saber como vaciarlo o eliminar items.
Para eso tenemos los métodos:
- Map.set(clave, valor): añadir o modificar un valor
- Map.delete(clave): eliminar un item, un par clave-valor
- Map.clear( ): vaciar el map
El método set(clave, valor) añade un nuevo par clave-valor en el objeto Map o lo modifica si ya existe la clave (recuerda que las claves no pueden repetirse)
Acepta dos argumentos:
- clave: cualquier tipo de datos, es el que identifica al item
- valor: cualquier valor que queramos asociar a la clave
Ambos aceptan cualquier tipo de valor.
let precios = new Map();
precios.set( 'fecha', new Date('2024/12/31')),
precios.set('patatas', 20);
precios.set('platanos', 25);
console.log(precios) ;
En este ejemplo la primera clave introducida es un par string - Date, mientras que el resto son string - integer .
Las claves en los objetos Map no se repiten, por lo que si se repite una operación set con la misma clave se sobrescribe el valor existente
let notas = new Map([
['Fisica, 8],
['Matematicas', 6],
['Historia', 7],
['Italia', 'Roma']
]);
console.log(notas) ;
notas.set ('Fisica', 7)
console.log(notas) ;
En este ejemplo el objeto se crea con valores y luego se modifica el correspondiente a la clave Física.
Un objeto Map también puede modificarse eliminando algún item almacenado, para eso usamos el método delete(clave) que devolverá true si el borrado se realiza con éxito o false si no hay borrado, o sea, si la clave no existe.
Y si queremos vaciarlo por completo usaríamos clear( ). Este método no destruye el Map solo lo vacía y deja su propiedad size a 0
let notas = new Map([
['Fisica, 8],
['Matematicas', 6],
['Historia', 7],
['Italia', 'Roma']
]);
notas.delete(notas);
console.log(notas) ; // Map(0) {size: 0}