Neste artigo você vai aprender a como remover elementos repetidos de um vetor em JavaScript – os conhecidos arrays da linguagem JS
Fala programador(a), beleza? Bora aprender a como remover elementos repetidos de um vetor em JS!
Temos uma maneira muito fácil para fazer esta ação de remover duplicidade em arrays, o método filter é muito interessante para esta aplicação
Ele tem justamente esta função, realizar um filtro sobre uma variável que tem o tipo de dado array
Vamos ver a aplicação na prática:
var arr = [1, 3, 4, 6, 1, 2, 3, 4, 5, 7, 8, 6]; var semRepetidos = arr.filter(function(el, i) { return arr.indexOf(el) === i; }); console.log(semRepetidos);
Veja que há uma comparação entre o primeiro elemento encontrado no array pelo índice por meio de indexOf com o elemento atual da iteração
Isso faz com que apenas um elemento com o mesmo valor seja retornado, eliminando os elementos repetidos no vetor
Desta maneira resolvemos nosso problema de forma simples
Vale a ressalva que o filter é uma função um pouco recente, tornando a sua utilização em navegadores antigos impossibilitada
Mas você tem uma alternativa chamada Polyfill, veja neste link
Desta forma você vai conseguir rodar a função filter em qualquer versão de qualquer navegador, pois este código é feito com recursos já padronizados
É disto que o Polyfill trata =)
Conclusão
Neste artigo vimos como remover elementos repetidos de um vetor em JavaScript, ou seja, eliminar os elementos que se repetem no array
A função filter encaixa com uma luva para esta ação, podendo ser feito um filtro no array alvo
E sendo retornado apenas os elementos que passam neste filtro, conforme foi exibido anteriormente no post
Um cuidado interessante é utilizar o Polyfill caso sua aplicação precisa garantir compatibilidade entre os navegadores mais antigos também
O Polyfill é uma versão de uma função mais moderna, só que utilizando código já padronizado de JS pelos navegadores
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Bacana, foi bem útil (y)
Valeuuu Julio!