Eliminar elementos repetidos de un array

Problema:

Eliminar elementos repetidos de un array

Un array puede contener elementos repetidos pero a veces esto puede no interesarnos.

Eliminar los valores repetidos puede ser útil por ejmeplo en u juego de azar donde queramos eliminar resultados que ya han salido antes

Solución

Usar el tipo de datos Set, conjunto

Es posible convertir un array en un objeto tipo conjunto (Set ), en esta conversión desaparecen las repeticions, pues en un conjunto no existe orden de elementos, solo existe relación de pertenencia.

Una vez convertido podemos recrear el array del conjunto (Array.from), con lo que los elementos duplicados habran desaparecido

Ejemplo

Vamos a usar elementos simples, si hubieran objetos complejos hay que usar otro método.

let lista = new Array(2,5,8,1,2,9,5,7);

let conjunto = new Set(lista);

lista = Array.from(conjunto);

console.log(lista);

Verás que los valores repetidos (2, 5) ya aparecen un sola vez.

El orden del array puede vrese afectado pues se eliminan elementos a partir de la primera repetición.

scripts