É um final de semana, e você está se preparando para um grande churrasco que fará em sua casa. Ao observar o que falta, percebe que necessita de sal grosso, e rapidamente se dirige ao mercado. Ao pegar o produto, nota seu valor, e junto dele observa uma coisa, seu código de barras. Se dirigindo ao caixa, a atendente escaneia o código e por ele,podem ver qual o valor computado.
Existe uma similaridade entre o caso acima e as Coleções codificadas. As Coleções são responsáveis por armazenar o valor de um elemento, utilizando chaves(menos um caso que citaremos mais a frente mas que faz parte dessa coleção). Essas chaves são geralmente valores numéricos ou de texto, e podem ser usadas para acessar e organizar os elementos na coleção, assim como o código de barras serve como código do produto que o trás a tela da atendente.
As Coleção codificada( ou como descrito no título em seu nome original:Keyed Collections), atuam de maneira semelhante aos Objetos, mas algumas Coleções tem algumas funções adicionais,visto que foram criadas para ser uma alternativa aos Objects
e Arrays
.
let events = new Set();
let event1 = { type: "concert", day: "Saturday" };
let event2 = { type: "book launch", day: "Wednesday"};
let event3 = { type: "conference", day: "Thursday"};
let event4 = { type: "meet up", day: "Monday" };
events.add(event1);
events.add(event2);
events.add(event3);
events.add(event4);
Podemos ver no exemplo acima que foi se criada uma Coleção parecida com os Arrays
, onde foi criado um conjunto no new Set
, e usado Add
para empurrar os valores "encaixotados".
Dentro dessa Coleção temos o Set que é uma coleção de elementos únicos, sem chaves associadas. Ele não permite elementos duplicados, e os elementos são acessados por seus valores, e não por suas chaves. Ele é útil para armazenar conjuntos de valores sem se preocupar com a ordem.
Já o Map
permite que você armazene elementos com chaves únicas, e os elementos são acessados por suas chaves, em vez de seus valores. Você pode querer criar chaves que não sejam strings, ou está procurando flexibilidade sem depender de uma biblioteca externa como lodash
(que armazena métodos como has(), values(), delete()).
let map = new Map([
["nome", "João"],
["idade", 25]
]);
console.log(map.get("nome")); // "João"
console.log(map.get("idade")); // 25
Em resumo, as Keyed Collections em JavaScript são uma estrutura de dados versátil e poderosa para trabalhar com coleções codificadas, de diversas maneiras.
Obrigado por ler!!!
Top comments (0)