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



コメント