Outra situação muito comum é a de remover valores repetidos de uma matriz.
Vamos mostrar algumas das abordagens que você pode usar:
A primeira opção é usar o construtor Set, que é um tipo especial de objeto. O objeto Set
permite armazenar apenas valores únicos de qualquer tipo, sejam valores primitivos ou referências de objetos.
const arr = ["a", 2, "c", 4, "a", 2, 2, 5, "c"];
const set1 = new Set(arr);
const result1 = [...set1.values()];
console.log(result1);
//[ 'a', 2, 'c', 4, 5 ]
const result2 = [...new Set(arr)];
console.log(result2);
//[ 'a', 2, 'c', 4, 5 ]
Se você preferir usar o método filter()
basta verificar se a posição inicial de cada elemento da matriz é idêntica à posição atual para cada elemento. Para itens duplicados, estes dois locais são obviamente diferentes.
const arr = ["a", 2, "c", 4, "a", 2, 2, 5, "c"];
const filtered = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(filtered);
//[ 'a', 2, 'c', 4, 5 ]
Deixe um comentário