Implementando o método `Unique` (removendo duplicados de um array) em JavaScript.

この記事は約6分で読めます。
スポンサーリンク

Coisas que eu quero fazer

Este artigo explica como implementar o método `Unique` (remover duplicados de um array) em JavaScript.

Vou apresentar dois métodos usando filtro e conjunto.

スポンサーリンク

implementação

O homem utilizou a implementação

A função Filter é usada para remover elementos duplicados.

O método `findIndex()` procura um elemento idêntico ao que está sendo verificado e, se um elemento com um índice menor for encontrado, ele será selecionado para exclusão. (`arr.findIndex((ele) => element == ele) == index)`

(Você pode estar se perguntando por que o elemento com o índice maior não é excluído, mas isso não é um problema, pois ele é excluído quando o elemento com o índice maior é verificado. No exemplo abaixo, o primeiro elemento0 não é excluído, mas o segundo elemento0 é.)

const elements = ["element0", "element0", "element1", "element2", "element3", "element4","element1","element1","element2"];

const result = elements.filter((element, index, arr) => 
  arr.findIndex((ele) => element == ele) == index
);

console.log(result);

Resultado:

Array ["element0", "element1", "element2", "element3", "element4"]

aplicativo

O fato de os elementos serem idênticos é determinado pela função à qual findIndex também é passado, portanto, eles não precisam ser exatamente iguais no sentido estrito da palavra.

O exemplo abaixo mostra os resultados da execução de Unique(result), que diferencia maiúsculas de minúsculas, e Unique(result), que não diferencia maiúsculas de minúsculas.

const elements = ["Element0", "element0", "element1", "element2", "element3", "element4","element1","Element1","element2"];

const result = elements.filter((element, index, arr) => 
  arr.findIndex((ele) => element == ele) == index
);
const result2 = elements.filter((element, index, arr) => 
  arr.findIndex((ele) => element.toUpperCase() == ele.toUpperCase()) == index
);
console.log(result);
console.log(result2);

Resultado:

 Array ["Element0", "element0", "element1", "element2", "element3", "element4", "Element1"]
 Array ["Element0", "element1", "element2", "element3", "element4"]

Além disso, se você quiser verificar a unicidade em uma matriz de objetos, pode fazê-lo usando uma verificação como `element.name == ele.name`.

Implementação usando Conjunto

Crie um conjunto (semelhante a um array, mas sem elementos duplicados) e converta-o em um array.

const elements = ["element0", "element0", "element1", "element2", "element3", "element4","element1","element1","element2"];

console.log([...new Set(elements)]);

Resultado:

Array ["element0", "element1", "element2", "element3", "element4"]

Ao implementar Unique usando Set, é comum converter para um Array usando from(), mas é mais limpo usar spread(…) para a conversão.

スポンサーリンク

Resultado

Consegui implementar o método `Unique` (remover duplicados de um array) em JavaScript.

スポンサーリンク

Sites que utilizei como referência

Set - JavaScript | MDN
Set オブジェクトは、プリミティブ値やオブジェクト参照を問わず、あらゆる型で多数の一意の値を格納することができます。

コメント

タイトルとURLをコピーしました