JavaScript: Trabalhando com Set
Cristian Magalhães
Posted on June 25, 2024
Eae gente bonita, beleza? Vamos continuar nos aprofundando nas estruturas do JavaScript e dessa vez vamos falar sobre o Set a estrutura de dado e não o número.
Tabela de conteúdo
O que é o Set?
De forma simples e objetiva, o Set é um objeto que armazena valores de tipo primitivos até referência a objetos. Porém, o seu grande diferencial e trunfo é pelo fato de não armazenar items repetidos, assim, o Set se torna uma ótima opção para filtrar itens repetidos de uma lista.
Métodos
O Set é bem parecido com objeto Map, porém com uma diferença que muda muito a sua utilização a ausência do método get
e isso se deve ao fato do objeto Map
ser uma estrutura de chave-valor e o Set não. Logo, toda vez que você precisar encontrar um item dentro de um Set você precisará percorrer a lista toda.
Exemplos
Primeiro, vamos ver um exemplo do uso do Set para remover items duplicados de uma lista
const arr1 = ['0', '1', '2'];
const arr2 = ['2', '0', '3'];
const arr3 = arr1.concat(arr2); // -> [ '0', '0', '1', '2', '2', '3' ]
// Agora com o uso do Set
const set = new Set(); // vamos instanciar o set
// agora vamos adicionar cada item dos dois arrays a ele.
arr1.map(x => set.add(x));
arr2.map(x => set.add(x));
// resultado
console.log(Array.from(set)) // -> ['0', '1', '2', '3']
Viu como é simples? Sem necessidade de fazer uma iteração dentro da outra ou criar lógica desnecessária.
Vamos a mais um exemplo, dessa vez mostrando a diferença entre listas e também as interseções
const users01 = new Set([
'cris',
'joao',
'vitor'
]);
const users02 = new Set([
'matheus',
'ney',
'cris'
])
const intersection = new Set([...users01].filter(user => users02.has(user)))
console.log(intersection); // -> Set(1) { 'cris' }
const difference = new Set([...users01].filter(user => !users02.has(user)))
console.log(difference); // -> Set(2) { 'joao', 'vitor' }
Conclusão
Bom, nesse texto quis trazer um pouco sobre o Set para vocês, é importante dizer que não me aprofundo pois a ideia é não te transformar em um especialista do objeto mas sim te apresentar as ferramentas de formas simples e fácil, dessa forma você sempre vai saber o que fazer e pelo o que pesquisar para resolver os seus problemas.
Referências
Espero que tenha sido claro e tenha ajudado a entender um pouco mais sobre o assunto, fique a vontade para dúvidas e sugestões abaixo!
Se chegou até aqui, me segue la nas redes vizinhas.
Foto de Ferenc Almasi na Unsplash
Posted on June 25, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.