Map - JavaScript
O objeto Map
Map
const myMap = new Map();
Também é possível inicializar o dicionário com valores iniciais. Para isso, passa-se um array para o construtor, onde cada elemento do array representa um par chave-valor:
const myMap = new Map([[1, 'a'], [2, 'b'], [3, 'c']]);
console.log(myMap); // Map(3) {1 => "a", 2 => "b", 3 => "c"}
Neste caso, os números 1, 2 e 3 são as chaves, enquanto as strings "a", "b" e "c" são os valores.
As chaves e os valores não precisam ser do mesmo tipo. O tipo das chaves e dos valores pode variar:
const myMap = new Map([[1, 'a'], ['b', true],[false, 3]]);
console.log(myMap); // Map(3) {1 => "a", "b" => true, false => 3}
Tamanho do dicionário
Com a propriedade size, pode-se verificar a quantidade de elementos em um Map
const myMap = new Map([[1, 'a'], [2, 'b'], [3, 'c']]);
console.log(myMap.size); // 3
Adicionando e Modificando Elementos
Para adicionar ou modificar elementos, utiliza-se o método set()
const myMap = new Map([[1, 'a'], [2, 'b'], [3, 'c']]);
myMap.set(1, 'd'); // atualiza o valor da chave 1
myMap.set(4, 'e'); // adiciona um novo par chave-valor
console.log(myMap); // Map(4) {1 => "d", 2 => "b", 3 => "c", 4 => "e"}
Obtendo valores
Para obter um valor a partir de uma chave, utiliza-se o método get()
const myMap = new Map([["red", 'vermelho'], ["blue", 'azul'], ["green", 'verde']]);
console.log(myMap.get("red")); // vermelho
console.log(dict.get("violet")); // undefined
Para evitar o retorno de undefined
has()
const myMap = new Map([["red", 'vermelho'], ["blue", 'azul'], ["green", 'verde']]);
console.log(myMap.has("red")); // true
console.log(myMap.has("violet")); // false
if(dict.has("red")) console.log(dict.get("red"));
Removendo Elementos
Para remover um elemento a partir de uma chave, utiliza-se o método delete()
const myMap = new Map([["red", 'vermelho'], ["blue", 'azul'], ["green", 'verde']]);
myMap.delete("red");
console.log(myMap); // Map(2) {"blue" => "azul", "green" => "verde"}
Para remover todos os elementos, utiliza-se o método clear()
const myMap = new Map([["red", 'vermelho'], ["blue", 'azul'], ["green", 'verde']]);
myMap.clear();
console.log(myMap); // Map(0) {}
Percorrendo Elementos
Para percorrer os elementos de um dicionário, pode-se utilizar o método forEach()
const myMap = new Map([["red", 'vermelho'], ["blue", 'azul'], ["green", 'verde']]);
myMap.forEach((value, key) => console.log(key, ":", value));
Outra forma de percorrer os elementos é utilizando o loop for...of
const myMap = new Map([["red", 'vermelho'], ["blue", 'azul'], ["green", 'verde']]);
for (const [key, value] of myMap) {
console.log(key, ":", value);
}
Saída no console:
red : vermelho blue : azul green : verde