Remover elementos repetidos de um array em JavaScript

1a atrás

0 0

Digamos que você tenha o seguinte array em JavaScript:

var arr = ['foo', 'bar', 'foo', 'hey', 'how'];

Os itens repetidos são os índices 0 e 2, "foo". Para retornar o array sem repetições, você pode usar o código a seguir:

arr.filter((a, i) => arr.indexOf(a) === i); // ['foo', 'bar', 'hey', 'how']

Explicação

arr = array original, i = índice atual, a = elemento atual do array. Se o elemento atual do array já estiver presente anteriormente no array, ele será encontrado com a função .indexOf() em uma posição diferente de i, sendo removido com o filtro.

No caso, quando o segundo "foo" for passar pela condição, a função .indexOf() retornará 0 ao invés de 2, por isso o segundo "foo" será removido do array filtrado.

#JavaScript


Comentários (0)

0/512
Link