Keyed collections: Map Object
São coleções chaveadas.
É uma coleção de pares no formato key-value, em que a chave pode ser de qualquer tipo.
Map lembra a ordem de inserção original de seus elementos, o que significa que os dados podem ser recuperados na mesma ordem em que foram inseridos.
Por ser chaveado, pode ser iterado por um loop for...of
Métodos
// Declaração
const myMap = new Map();
// Método set() para Adicionar
myMap.set('apple','fruit'); // Map(1) {'apple' => 'fruit'}
// Método get() para Ler
myMap.get(apple); // 'fruit'
// Método delete() para Remover
myMap.delete('apple'); // true
myMap.get(apple); // 'undefined' porque a chave 'apple' não existe mais na coleção
Diferença entre Map e Object
Map
- Chave pode ser de qualquer tipo
- Propriedade length: SIM
- São mais fáceis de iterar
- Usado qdo o valor das chaves é desconhecido
- Os valores tem o mesmo tipo
Object
- Chave sempre é do tipo string
- Propriedade length: NÃO Tem que iterar para verificar quantas propriedades tem.
- São mais dificeis de iterar
- Usado qdo o valor das chaves é conhecido
- Os valores não precisam ter o mesmo tipo