Neste artigo você vai aprender como obter valores únicos em um array JavaScript – sem utilizar qualquer biblioteca, apenas com recursos da linguagem pura
Fala galera, beleza? Bora aprender mais sobre os arrays de JavaScript e como retirar apenas os valores únicos!
Uma solução simples e eficaz é utilizando a função filter do JavaScript
A partir desta função é possível criar um filtro de fato, retirando apenas os elementos que nos interessam, baseado em uma condição
Então uma solução muito conhecida é:
function unique(value, index, self) { return self.indexOf(value) === index; } var array = ['a', 'b', 'b', 'c', 'c']; var unique = array.filter(unique); console.log(unique);
Ela foi retirada do Stack Over Flow, deste post
Desta forma vamos receber apenas os valores únicos, pois no return ele verifica se o valor do primeiro índice encontrador é o mesmo do índice atual
E como isso pode ajudar?
Por que sempre é verificado o primeiro valor, então é impossível repetir o índice caso não seja o primeiro
Inibindo assim as demais repetições pelo resto do array, legal né? 😀
Com ES6
Com os novos recursos do JavaScript ES6 podemos também facilitar esta operação de itens únicos no array
Uma das formas é utilizando o Set
Veja um exemplo:
const array = ['a', 'b', 'b', 'c', 'c']; const unique = [...new Set(array)]; console.log(unique)
De forma mais simples ainda, apenas os elementos que contem valores únicos serão atribuídos a variável unique
Conclusão
Neste artigo vimos como obter valores únicos em um array de duas maneiras
Na primeira vimos a utilização da função filter, criando uma nova função que retorna apenas os elementos únicos
Depois vimos com Set, um operador da versão ES6 do JavaScript
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Queria a adaptação desta função quando os elementos deste array são objetos repetidos, não strings…