inicio

un objeto Map puede ser utilizado para contener pares key/value(clave/value)
Una clave o valor en un map puede ser cualquier cosa(objetos y valores primitivos)

La sintaxis new Map([iterable]) crea un objeto map en el que iterable es un array o cualquier otro objeto iterable cuyos elementos son arrays(cada uno de ellos con un par clave/valor). Un object es similar a Map pero existen diferencias importantes que hacen sea preferible utilizar Map en algunos casos:
  1. las keys o claves pueden ser de cualquier tipo,incluyendo funciones, objetos,y cualquier primitivo.
  2. Puedes obtener el tamaño de un Map.
  3. Puedes iterar directamente sobre un Map.
  4. El rendimiento de Map es mejor en situaciones que implican una frecuente adición y sustracción de pares clave/valor.
  5. la propiedad size devuelve la cantidad de pares clave/valor de un map
1 2 3 4
for example
let map = new Map([['k1', 'v1'], ['k2', 'v2']]);
console.log(map.size); // 2

Methods

  1. set(key, value) Adds a specified key/value pair to the map. If the specified key already exists, value corresponding to it is replaced with the specified value.
  2. get(key) Gets the value corresponding to a specified key in the map. If the specified key doesn't exist, undefined is returned.
  3. has(key) Returns true if a specified key exists in the map and false otherwise.
  4. delete(key) Deletes the key/value pair with a specified key from the map and returns true. Returns false if the element does not exist.
  5. clear() Removes all key/value pairs from map.
  6. keys() Returns an Iterator of keys in the map for each element.
  7. values() Returns an Iterator of values in the map for each element.
  8. entries() Returns an Iterator of array[key, value] in the map for each element.
For example:
1 2 3 4 5 6
let map = new Map();
map.set('k1', 'v1').set('k2', 'v2');
console.log(map.get('k1')); // v1
console.log(map.has('k2')); // true
for (let kv of map.entries())
console.log(kv[0] + " : " + kv[1]);