Buscar..


Sintaxis

  • nuevo mapa ([iterable])
  • map.set (clave, valor)
  • map.get (clave)
  • Tamaño de mapa
  • map.clear ()
  • map.delete (clave)
  • map.entries ()
  • map.keys ()
  • map.values ​​()
  • map.forEach (callback [, thisArg])

Parámetros

Parámetro Detalles
iterable Cualquier objeto iterable (por ejemplo, una matriz) que contenga pares [key, value] .
key La clave de un elemento.
value El valor asignado a la clave.
callback Función de devolución de llamada llamada con tres parámetros: valor, clave y el mapa.
thisArg Valor que se utilizará como this al ejecutar la callback .

Observaciones

En los mapas, se considera que NaN es lo mismo que NaN , aunque NaN !== NaN . Por ejemplo:

const map = new Map([[NaN, true]]);
console.log(map.get(NaN)); // true

Creando un Mapa

Un mapa es un mapeo básico de claves a valores. Los mapas son diferentes de los objetos en que sus claves pueden ser cualquier cosa (valores primitivos y objetos), no solo cadenas y símbolos. La iteración sobre Mapas también se realiza siempre en el orden en que se insertaron los elementos en el Mapa, mientras que el orden no está definido cuando se itera sobre las claves de un objeto.

Para crear un mapa, usa el constructor de mapas:

const map = new Map();

Tiene un parámetro opcional, que puede ser cualquier objeto iterable (por ejemplo, una matriz) que contiene matrices de dos elementos: primero es la clave, los segundos es el valor. Por ejemplo:

const map = new Map([[new Date(), {foo: "bar"}], [document.body, "body"]]);
//                      ^key          ^value          ^key        ^value

Borrar un mapa

Para eliminar todos los elementos de un mapa, use el método .clear() :

map.clear();

Ejemplo:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2
map.clear();
console.log(map.size); // 0
console.log(map.get(1)); // undefined

Eliminar un elemento de un mapa

Para eliminar un elemento de un mapa, use el método .delete() .

map.delete(key);

Ejemplo:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.get(3)); // 4
map.delete(3);
console.log(map.get(3)); // undefined

Este método devuelve true si el elemento existió y se eliminó; de lo contrario, false :

const map = new Map([[1, 2], [3, 4]]);
console.log(map.delete(1)); // true
console.log(map.delete(7)); // false

Comprobando si existe una clave en un mapa

Para verificar si existe una clave en un mapa, use el método .has() :

map.has(key);

Ejemplo:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.has(1)); // true
console.log(map.has(2)); // false

Iterando mapas

El mapa tiene tres métodos que devuelven iteradores: .keys() , .values() y .entries() . .entries() es el iterador de mapas predeterminado y contiene pares [key, value] .

const map = new Map([[1, 2], [3, 4]]);

for (const [key, value] of map) {
  console.log(`key: ${key}, value: ${value}`);
  // logs:
  // key: 1, value: 2
  // key: 3, value: 4
}

for (const key of map.keys()) {
  console.log(key); // logs 1 and 3
}

for (const value of map.values()) {
  console.log(value); // logs 2 and 4
}

El mapa también tiene el método .forEach() . El primer parámetro es una función de devolución de llamada, que se llamará para cada elemento en el mapa, y el segundo parámetro es el valor que se usará como this al ejecutar la función de devolución de llamada.

La función de devolución de llamada tiene tres argumentos: valor, clave y el objeto de mapa.

const map = new Map([[1, 2], [3, 4]]);
map.forEach((value, key, theMap) => console.log(`key: ${key}, value: ${value}`));
// logs:
// key: 1, value: 2
// key: 3, value: 4

Obteniendo y configurando elementos.

Use .get(key) para obtener valor por clave y .set(key, value) para asignar un valor a una clave.

Si el elemento con la clave especificada no existe en el mapa, .get() devuelve undefined .

.set() método .set() devuelve el objeto del mapa, por lo que puede encadenar llamadas .set() .

const map = new Map();
console.log(map.get(1)); // undefined
map.set(1, 2).set(3, 4);
console.log(map.get(1)); // 2

Obtener el número de elementos de un mapa

Para obtener la cantidad de elementos de un mapa, use la propiedad .size :

const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow