🌱 Digital Garden

Search

Search IconIcon to open search

Maps en JavaScript

Last updated Aug 6, 2023 Edit Source

La diferencia entre objetos y mapas esque en los mapas las keys pueden ser de cualquier tipo de dato (No como en los objetos, que solo permiten strings).

Para utilizarlos, tambien utilizamos la sintaxis del constructor

1
const map = new Map();

# Agregar Elementos

Una vez creado el mapa, podemos empezar a agregar elementos con el metodo set.

1
2
3
map.set('key', 'value');
map.set(2, true);
map.set(false, 'somevalue');

El metodo set returna el mapa ya modificado (mutado), esto nos permite encadenar multiples set consecutivos

1
2
map.set('key2', 'value2')
	.set(true, 'Esta abierto')

# Obtener Elementos

Para obtener un elemento debemos referirnos a el mediante su key y se nos devolvera su valor con el metodo get

1
2
3
map.get('key');
map.get(2);
map.get(false);

# Checar si Existe

Para checar si un elemento existe volvemos a reutilizar el metodo .has

1
map.has('key');

# Eliminar Elementos

Para eliminar utilizamos el metodo .delete

1
map.delete('key');

# Otra alternativa de agregar elementos

Otra forma de declarar un mapa es utilizar un array de arrays.

1
2
3
4
const map = new Map([
	['key', 'value']
	['key', 'value']
])

Extrañamente familiar a los metodos utilizados en notes/Loopear sobre Objetos en JavaScript (Object.entries). Debido a esto, es muy sencillo pasar un objeto a un mapa!

1
const map = new Map(Object.entries(obj)); // Convierte un objeto a un mapa

# Iteracion

Su iteracion es exactamente igual que en notes/Loopear sobre Objetos en JavaScript, se utiliza la notes/Destructuring en JavaScript para obtener el par de llave - valor.

1
2
3
for(const [key, value] of map) {
	console.log(`${key}: ${value}`);
}
1
2
// challenge
question.get(answer === question.get('correct'));