Em uns posts anteriores, falei sobre como podemos remover valores duplicados em um ARRAY.
Mas e se fosse um ARRAY de OBJETOS? A abordagem que ensinei no post não funciona, já que como falei, é um array de objetos.
Além de não funcionar, não podemos simplesmente implementar um loop dentro de um loop (um forEach com um some, por exemplo), ou melhor dizendo, até podemos, mas esse algoritmo teria sua complexidade O(n²) o que é extremamente LENTO em caso de arrays maiores.
Neste código abaixo, demonstro como podemos criar nossa função de remover valores repetidos em um array:
1 | /** |
Dessa forma, os valores que já foram verificados são adicionados em uma variável auxiliar e sabemos se já apareceu alguma vez em nosso Array.
Talvez não seja a forma mais bonita, mas é eficiente!
Diz ai se você usa algum outro algoritmo!