JavaScript

JavaScript

Tutorial JavaScript: Mapas con Map

JavaScript mapas: creación y uso efectivo. Aprende a crear y usar mapas en JavaScript con ejemplos prácticos y detallados.

El objeto Map en JavaScript es una colección de pares clave-valor que permite guardar y manipular datos de manera eficiente y ordenada. A diferencia de los objetos y arrays convencionales, Map permite utilizar cualquier valor (ya sea un objeto, una función o un valor primitivo) como clave y no solamente strings o números, lo que amplía sus posibilidades de uso. Además, Map mantiene el orden de inserción de los elementos, facilitando la iteración de los elementos según su orden de inserción.

Creación de un objeto Map

Para crear un objeto Map se utiliza la palabra clave new junto con la clase Map:

const miMapa = new Map();

También es posible crear un Map e inicializarlo con pares clave-valor utilizando un array anidado como argumento:

const miMapa = new Map([
  ["clave1", "valor1"],
  ["clave2", "valor2"],
  ["clave3", "valor3"]
]);

Métodos y propiedades de un objeto Map

Map cuenta con varios métodos y propiedades útiles para trabajar con sus elementos.

  • size: Propiedad que devuelve la cantidad de pares clave valor almacenados en el Map.
console.log(miMapa.size); // 3
  • set(key, value): Método que añade un nuevo par clave-valor al Map. Si ya existe un elemento con la misma clave, su valor se actualizará con el nuevo valor proporcionado.
miMapa.set("clave4", "valor4");
console.log(miMapa.size); // 4
  • get(key): Método que devuelve el valor asociado a la clave proporcionada. Si la clave no existe en el Map, devuelve undefined.
console.log(miMapa.get("clave2")); // "valor2"
console.log(miMapa.get("clave_inexistente")); // undefined
  • has(key): Método que devuelve true si el Map contiene un elemento con la clave dada y false en caso contrario.
console.log(miMapa.has("clave3")); // true
  • delete(key): Método que elimina el par clave-valor del Map según la clave proporcionada. Retorna true si se ha eliminado con éxito, y false si la clave no se encuentra en el Map.
miMapa.delete("clave1");
console.log(miMapa.has("clave1")); // false
  • clear(): Método que elimina todos los pares clave-valor del Map.
miMapa.clear();
console.log(miMapa.size); // 0

Iteración de un objeto Map

Map ofrece varios métodos para iterar sus elementos de forma sencilla y eficiente.

  • keys(): Método que devuelve un objeto iterable con las claves del Map en el orden de inserción.
for (const clave of miMapa.keys()) {
  console.log(clave);
}

// Salida:
// clave2
// clave3
// clave4
  • values(): Método que devuelve un objeto iterable con los valores del Map en el orden de inserción.
for (const valor of miMapa.values()) {
  console.log(valor);
}

// Salida:
// valor2
// valor3
// valor4
  • entries(): Método que devuelve un objeto iterable con arrays de pares [clave, valor] en el orden de inserción.
for (const entrada of miMapa.entries()) {
  console.log(entrada);
}

// Salida:
// ["clave2", "valor2"]
// ["clave3", "valor3"]
// ["clave4", "valor4"]
  • forEach(callback[, thisArg]): Método que ejecuta una función callback para cada par clave-valor del Map, en el orden de inserción. Opcionalmente, se puede proporcionar el objeto thisArg para utilizarlo como this dentro del callback.
miMapa.forEach((valor, clave, mapa) => {
  console.log(`Clave: ${clave}, Valor: ${valor}`);
});

También es posible utilizar el operador for...of directamente en un objeto Map, lo cual es equivalente a utilizar el método entries():

for (const [clave, valor] of miMapa) {
  console.log(`Clave: ${clave}, Valor: ${valor}`);
}

En resumen, el objeto Map en JavaScript es una estructura de datos versátil y eficiente que permite almacenar y manipular pares clave-valor de manera ordenada, con múltiples métodos para iterar, agregar, actualizar y eliminar elementos de la colección de forma sencilla y clara.

Certifícate en JavaScript con CertiDevs PLUS

Ejercicios de esta lección Mapas con Map

Evalúa tus conocimientos de esta lección Mapas con Map con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Funciones flecha

JavaScript
Puzzle

Polimorfismo

JavaScript
Test

Array

JavaScript
Código

Transformación con map()

JavaScript
Test

Introducción a JavaScript

JavaScript
Test

Gestor de tareas con JavaScript

JavaScript
Proyecto

Manipulación DOM

JavaScript
Test

Funciones

JavaScript
Test

Funciones flecha

JavaScript
Código

Async / Await

JavaScript
Código

Creación y uso de variables

JavaScript
Test

Excepciones

JavaScript
Puzzle

Promises

JavaScript
Código

Funciones cierre (closure)

JavaScript
Test

Herencia

JavaScript
Puzzle

Herencia

JavaScript
Test

Estructuras de control

JavaScript
Código

Selección de elementos DOM

JavaScript
Test

Modificación de elementos DOM

JavaScript
Test

Filtrado con filter() y find()

JavaScript
Test

Funciones cierre (closure)

JavaScript
Puzzle

Funciones

JavaScript
Puzzle

Mapas con Map

JavaScript
Test

Reducción con reduce()

JavaScript
Test

Callbacks

JavaScript
Puzzle

Manipulación DOM

JavaScript
Puzzle

Promises

JavaScript
Test

Async / Await

JavaScript
Test

Eventos del DOM

JavaScript
Puzzle

Async / Await

JavaScript
Puzzle

Promises

JavaScript
Puzzle

Filtrado con filter() y find()

JavaScript
Código

Callbacks

JavaScript
Test

Creación de clases y objetos Restaurante

JavaScript
Código

Reducción con reduce()

JavaScript
Código

Filtrado con filter() y find()

JavaScript
Puzzle

Reducción con reduce()

JavaScript
Puzzle

Conjuntos con Set

JavaScript
Puzzle

Herencia de clases

JavaScript
Código

Eventos del DOM

JavaScript
Test

Clases y objetos

JavaScript
Puzzle

Modificación de elementos DOM

JavaScript
Puzzle

Mapas con Map

JavaScript
Puzzle

Funciones

JavaScript
Código

Tipos de datos

JavaScript
Test

Clases y objetos

JavaScript
Test

Array

JavaScript
Test

Conjuntos con Set

JavaScript
Test

Array

JavaScript
Puzzle

Encapsulación

JavaScript
Puzzle

Clases y objetos

JavaScript
Código

Uso de operadores

JavaScript
Puzzle

Uso de operadores

JavaScript
Test

Estructuras de control

JavaScript
Test

Excepciones

JavaScript
Test

Transformación con map()

JavaScript
Puzzle

Funciones flecha

JavaScript
Test

Selección de elementos DOM

JavaScript
Puzzle

Encapsulación

JavaScript
Test

Mapas con Map

JavaScript
Código

Creación y uso de variables

JavaScript
Puzzle

Polimorfismo

JavaScript
Puzzle

Tipos de datos

JavaScript
Puzzle

Estructuras de control

JavaScript
Puzzle

Todas las lecciones de JavaScript

Accede a todas las lecciones de JavaScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Certificados de superación de JavaScript

Supera todos los ejercicios de programación del curso de JavaScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Entender qué es un Map en JavaScript y cómo se diferencia de otros objetos como Arrays u objetos literales.
  2. Conocer las diferentes formas de crear un Map utilizando el constructor Map y cómo inicializarlo con pares clave-valor.
  3. Familiarizarse con las propiedades y métodos disponibles para trabajar con Maps, como size, set(key, value), get(key), has(key), delete(key), y clear().
  4. Aprender cómo iterar sobre los elementos de un Map utilizando los métodos keys(), values(), entries(), y forEach(callback[, thisArg]), o mediante un bucle for...of.
  5. Comprender las ventajas de utilizar Maps, como la capacidad de almacenar cualquier tipo de valor como clave, el mantenimiento del orden de inserción y la eficiencia en la manipulación de datos.