Eu estava assistindo um curso na Udemy e descobri uma forma muito legal de eliminar eventuais repetições de elementos de um array.
Trata-se da combinação da classe Set com o Spread operator.
Set
Permite o armazenamento de valores únicos de qualquer tipo.
Exemplo de um set:
const set = new Set([1, 2, 3, 3, 4, 5, 5])
console.log(set) // Set {1, 2, 3, 4, 5}
Clique aqui para conhecer mais da classe Set.
Spread operator
Servirá para fazer o espalhamento dos elementos do Set resultante.
Exemplo de como funciona spread operator:
const a = [1, 2, 3]
const b = [4, 5, 6]
const c = [...a, ...b]
console.log(c) // [1, 2, 3, 4, 5, 6]
Clique aqui para aprender mais sobre o Spread operator.
Combinando os dois
Agora, podemos combinar os dois e eliminar as repetições:
const initial = [1, 2, 2, 3, 4, 4, 8, 8]
const set = new Set(initial)
const final = [...set]
console.log(final) // [1, 2, 3, 4, 8]
Top comments (2)
Desculpe a ignorancia, mas ele tambem remove objetos repetidos ou so tipos primitivos?
Remove apenas se os objetos tiverem a mesma referência:
Nesse caso remove:
Nesse caso não remove: