- Autor

- Nome
- Nelson Silva
- Social
Introdução
JavaScript ES6 introduziu dois novos tipos de coleções de dados: Sets e Maps. Ambos oferecem formas eficientes e flexíveis de trabalhar com coleções de dados. Neste artigo, vamos explorar as características de Sets e Maps, compreender as suas diferenças e aplicações, e ver exemplos de como podem ser utilizados.
O que são Sets?
Um Set é uma coleção de valores que não permite duplicados. É particularmente útil para a gestão de coleções de itens únicos.
Características dos Sets
- Unicidade: Cada elemento num Set é único.
- Sem Indexação: Sets não são indexados como arrays. Não é possível aceder aos elementos através de um índice.
Criar e Manipular Sets
let meuSet = new Set();
// Adicionar elementos
meuSet.add(1);
meuSet.add(2);
meuSet.add(2); // Não tem efeito, pois 2 já está no set
// Verificar a presença de um elemento
console.log(meuSet.has(1)); // true
// Tamanho do Set
console.log(meuSet.size); // 2
// Remover elementos
meuSet.delete(1);
Iterar sobre um Set
Sets podem ser iterados usando for...of ou métodos forEach.
for (let item of meuSet) {
console.log(item);
}
O que são Maps?
Um Map é uma coleção de pares chave-valor. Ao contrário dos objetos, as chaves num Map podem ser de qualquer tipo de dado.
Características dos Maps
- Chaves Flexíveis: As chaves podem ser de qualquer tipo, incluindo funções, objetos e qualquer tipo primitivo.
- Ordem Mantida: Ao contrário dos objetos, a ordem dos elementos é mantida.
Criar e Manipular Maps
let meuMap = new Map();
// Definir chaves e valores
meuMap.set('chave1', 'valor1');
meuMap.set('chave2', 'valor2');
// Aceder aos valores
console.log(meuMap.get('chave1')); // valor1
// Tamanho do Map
console.log(meuMap.size); // 2
// Remover elementos
meuMap.delete('chave1');
Iterar sobre um Map
Podemos iterar sobre as chaves, valores ou ambos usando for...of ou forEach.
for (let [chave, valor] of meuMap) {
console.log(`${chave}: ${valor}`);
}
Diferenças entre Sets e Maps
- Uso: Sets são utilizados para coleções de valores únicos, enquanto Maps são utilizados para associar pares chave-valor.
- Desempenho: Tanto Sets como Maps oferecem operações rápidas de inserção e pesquisa, superando frequentemente objetos em eficiência para grandes conjuntos de dados.
Boas Práticas e Dicas
- Escolha a Estrutura Correta: Utilize Sets quando precisar de uma coleção de itens únicos e Maps para mapeamentos chave-valor.
- Cuidado com as Chaves de Map: Lembre-se de que Maps podem ter chaves de qualquer tipo. Mantenha um controlo consistente sobre os tipos de chave para evitar confusão.
- Considere o Desempenho: Para grandes quantidades de dados, Sets e Maps podem ser mais eficientes do que objetos ou arrays.
Conclusão
Sets e Maps são adições poderosas ao JavaScript, oferecendo formas eficientes e flexíveis de trabalhar com coleções de dados. Compreender as suas características e diferenças é essencial para escolher a estrutura de dados correta para as suas necessidades e para implementar soluções eficazes.