Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Declarar um Map
  2. Map a partir de objeto
  3. Quantidade de elementos
  4. Percorrer um Map
  5. Tabela de métodos

A estrutura de dados Map armazena elementos no formato chave-valor. Tanto a chave quanto o valor podem ser objetos ou tipos primitivos. Esse tipo de dado não aceita elementos repetidos e a ordem dos elementos é mantida na inserção. Seus elementos não podem ser acessados utilizando o indexador [] como em vetores e strings.

Para instanciarmos um objeto Map, utilizamos seu construtor padrão que irá criar um Map sem elementos em seu conteúdo.

Sintaxe
let variavel = new Map<tipo_chave, tipo_valor>();
Exemplo 1
let mmap = new Map<string, number>();
console.log(mmap);
Saída
map(0) {}
Map (2) {"chv1" => 1, "chv2" => 2}

Uma outra forma de instanciar um Map é utilizando seu construtor que recebe um array como argumento que é convertido.

Sintaxe
let variavel = new Map( array );
Exemplo 2
let array:any = [[0,"fulano"],[1,"ciclano"],[2,"beltrano"]];
console.log(array);
let mmap = new Map(array);
console.log(mmap);
Saída
[ [ 0, 'fulano' ], [ 1, 'ciclano' ], [ 2, 'beltrano' ] ]
Map(3) { 0 => 'fulano', 1 => 'ciclano', 2 => 'beltrano' }

Como um objeto em TS é composto de chaves e valores, podemos instanciar um Map a partir de um objeto. Para isso, vamos precisar da classe Object que possui o método entries que converte um objeto para um array de chave-valor.

Sintaxe
Object.entries( object );
Exemplo 3
let obj = {
  "nome": "fulano",
  "idade": 999
};

console.log(obj);
array = Object.entries(obj);
console.log(array);
let mmap = new Map(array);
console.log(mmap);
Saída
{ nome: 'fulano', idade: 999 }
[ [ 'nome', 'fulano' ], [ 'idade', 999 ] ]
Map(2) { 'nome' => 'fulano', 'idade' => 999 }

Para adicionarmos novos elementos em um Map, utilizamos o método set que recebe uma chave e seu valor como argumentos. Caso a chave exista, seu valor será atualizado.

Sintaxe
variavel_map.set(key, value);
Exemplo 3
let mmap = new Map<string,number>([
    ["chv1",1],
    ["chv2",2]
]);

console.log(mmap);
mmap.set("chv3",3);
console.log(mmap);
Saída
Map (2) {"chv1" => 1, "chv2" => 2} 
Map (3) {"chv1" => 1, "chv2" => 2, "chv3" => 3} 

Para termos conhecimento do número de elementos contidos em um Map, utilizamos sua propriedade size.

Sintaxe
map.size;
Exemplo 4
let mmap = new Map<string,number>([
    ["chv1",1],
    ["chv2",2]
]);

console.log(mmap.size);
Saída
2

Para interarmos os elementos contidos em um Map, utilizamos o comando for-of para recuperarmos as chaves/valores.

Exemplo 5
let mmap = new Map<string,number>([
    ["chv1",1],
    ["chv2",2]
]);

for( let [ch,vl] of mmap)
  console.log(ch,vl);
Saída
"chv1",  1 
"chv2",  2 

A classe Map em TS possui vários métodos que nos auxiliam na manipulação desse tipo de dados como adição, remoção e outros. Clique aqui para ir para a página dos métodos.

Método Descrição
clear Remove todos elementos
delete Remove um elemento
entries Retorna um iterador contendo chave/valor
forEach Executa uma função para todos elementos
get Retorna elemento baseado em chave
has Verificar se um elemento existe
keys Retorna iterador contendo chaves
set Adicionar ou alterar um elemento
values Retorna um iterador contendo todos os valores
  1. 29/08/2025 - revisão 3 - Ajustes: pontuais, tab. métodos/targets de links, sintaxes, 'objetivos'
  2. 14/09/2024 - revisão 2 - Ajustes pontuais
  3. 02/09/2024 - revisão 1 - Correção em link objetivo: percorrer um map
  4. 29/02/2024 - versão inicial