Mapas JavaScript
Un mapa contiene pares clave-valor donde las claves pueden ser cualquier tipo de datos.
Un mapa recuerda el orden de inserción original de las claves.
Métodos de mapas esenciales
Método | Descripción |
---|---|
nuevo mapa() | Crea un nuevo mapa |
colocar() | Establece el valor de una clave en un mapa |
obtener() | Obtiene el valor de una clave en un mapa |
Eliminar() | Elimina un elemento de mapa especificado por la clave |
posee() | Devuelve verdadero si existe una clave en un mapa |
para cada() | Llama a una función para cada par clave/valor en un mapa |
entradas() | Devuelve un iterador con los pares [clave, valor] en un mapa |
Propiedad | Descripción |
Talla | Devuelve el número de elementos en un Mapa |
Cómo crear un mapa
Puede crear un mapa de JavaScript mediante:
- Pasar una matriz a
new Map()
- Crea un mapa y usa
Map.set()
El nuevo método Map()
Puede crear un Mapa pasando un Array al new Map()
constructor:
Ejemplo
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
El método set()
Puede agregar elementos a un Mapa con el set()
método:
Ejemplo
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
El set()
método también se puede utilizar para cambiar los valores de mapa existentes:
Ejemplo
fruits.set("apples", 200);
El método get()
El get()
método obtiene el valor de una clave en un Mapa:
Ejemplo
fruits.get("apples"); // Returns 500
La propiedad de tamaño
La size
propiedad devuelve el número de elementos en un Mapa:
Ejemplo
fruits.size;
El método delete()
El delete()
método elimina un elemento Map:
Ejemplo
fruits.delete("apples");
El método has()
El has()
método devuelve verdadero si existe una clave en un mapa:
Ejemplo
fruits.has("apples");
Prueba esto:
fruits.delete("apples");
fruits.has("apples");
Objetos JavaScript vs Mapas
Diferencias entre Objetos JavaScript y Mapas:
Objeto | Mapa | |
---|---|---|
Iterable | No iterable directamente | directamente iterable |
Tamaño | No tiene una propiedad de tamaño | Tener una propiedad de tamaño |
Tipos de clave | Las claves deben ser cadenas (o símbolos) | Las claves pueden ser de cualquier tipo de datos. |
orden clave | Las llaves no están bien ordenadas. | Las llaves se ordenan por inserción |
valores predeterminados | Tener claves predeterminadas | No tiene claves predeterminadas |
El método forEach()
El forEach()
método llama a una función para cada par clave/valor en un Mapa:
Ejemplo
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
El método de las entradas ()
El entries()
método devuelve un objeto iterador con la [clave, valores] en un Mapa:
Ejemplo
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Compatibilidad con navegador
Los mapas de JavaScript son compatibles con todos los navegadores, excepto Internet Explorer:
Chrome | Edge | Firefox | Safari | Opera |