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