JavaScript: Trabalhando com Set

Cristian Magalhães - Jun 25 - - Dev Community

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.

Gif risada

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']

Enter fullscreen mode Exit fullscreen mode

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' }

Enter fullscreen mode Exit fullscreen mode

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.

thank you dog

Foto de Ferenc Almasi na Unsplash

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player