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}