Skip to main content

Map | Typescript

  • Map | Typescript
info

O Map é uma nova estrutura de dados introduzida no ES6, portanto, está disponível para JavaScript e TypeScript. Um Map permite armazenar pares de valores-chave (ou seja, entradas), semelhantes aos mapas em outras linguagens de programação, por exemplo, Java HashMap.

Como Map é uma coleção, o que significa que tem um tamanho e uma ordem e podemos iterar sobre suas chaves e valores.

Criando um Map

let myMap = new Map<string, number>();

Adicionar, recuperar, excluir entradas do map

  • map.set(key, value) – adiciona uma nova entrada no mapa.
  • map.get(key) – recupera o valor de uma determinada chave do mapa.
  • map.has(key) – verifica se uma chave está presente no mapa. Retorna verdadeiro ou falso.
  • map.size – retorna a contagem de entradas no mapa.
  • map.delete(key) – exclui um par de chave-valor usando sua chave. Se a chave for encontrada e excluída, ela retornará true, caso contrário, retornará false.
  • map.clear() – exclui todas as entradas do mapa.
let nameAgeMapping = new Map<string, number>();

//1. Add entries
nameAgeMapping.set("Lokesh", 37);
nameAgeMapping.set("Raj", 35);
nameAgeMapping.set("John", 40);

//2. Get entries
let age = nameAgeMapping.get("John"); // age = 40

//3. Check entry by Key
nameAgeMapping.has("Lokesh"); // true
nameAgeMapping.has("Brian"); // false

//4. Size of the Map
let count = nameAgeMapping.size; // count = 3

//5. Delete an entry
let isDeleted = nameAgeMapping.delete("Lokesh"); // isDeleted = true

//6. Clear whole Map
nameAgeMapping.clear(); //Clear all entries

Iterando sobre o map

  • map.keys() – para iterar sobre as chaves do mapa
  • map.values() – para iterar sobre os valores do mapa
  • map.entries() – para iterar sobre as entradas do mapa
let nameAgeMapping = new Map<string, number>();

nameAgeMapping.set("Lokesh", 37);
nameAgeMapping.set("Raj", 35);
nameAgeMapping.set("John", 40);

//1. Iterate over map keys

for (let key of nameAgeMapping.keys()) {
console.log(key); //Lokesh Raj John
}

//2. Iterate over map values
for (let value of nameAgeMapping.values()) {
console.log(value); //37 35 40
}

//3. Iterate over map entries
for (let entry of nameAgeMapping.entries()) {
console.log(entry[0], entry[1]); //"Lokesh" 37 "Raj" 35 "John" 40
}

//4. Using object destructuring
for (let [key, value] of nameAgeMapping) {
console.log(key, value); //"Lokesh" 37 "Raj" 35 "John" 40
}