Map - JavaScript

O objeto Map ou dicionário representa uma estrutura de dados onde cada elemento tem uma chave e um valor. As chaves dentro do dicionário são únicas, ou seja, uma chave pode estar associada a apenas um elemento. Para criar um dicionário, utiliza-se o construtor do objeto 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(): se a chave já existe, o valor é atualizado; caso contrário, um novo par chave-valor é adicionado:

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, pode-se verificar a existência de um elemento pela chave com o método 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
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com