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 mapamap.values()– para iterar sobre os valores do mapamap.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
}