3 formas de remover duplicados en un Array en Javascript

Vamos a checar, muchas veces (o pocas) surge la necesidad de eliminar elementos duplicados dados en un array, que se yo… puede ser por que tienes que imprimir una lista del super, quitar a un alumno que duplico su registro en un form, infinidad de…


This content originally appeared on DEV Community and was authored by Lenin Felix

promo

Vamos a checar, muchas veces (o pocas) surge la necesidad de eliminar elementos duplicados dados en un array, que se yo... puede ser por que tienes que imprimir una lista del super, quitar a un alumno que duplico su registro en un form, infinidad de cosas, así que vamos a ver algunas formas de hacer esto:

1) Usando Set

Usando Set(), se creara una instancia de valores únicos, implícitamente al usar esta instancia borrara los duplicados .

Así que podemos hacer uso de esta instancia y de ahi tendremos que convertir esa instancia en un nuevo array, y eso seria todo:

let letras = ['A', 'B', 'A', 'C', 'B'];
let letrasUnicas = [...new Set(letras)];

console.log(letrasUnicas);

Esto nos regresa:

[ 'A', 'B', 'C' ]

2) Usando los métodos indexOf() y filter()

El método indexOf() regresa el índice de la primer aparicion del elemento en el array:

let letras = ['A', 'B', 'A', 'C', 'B'];
letras.indexOf('B');

Esto regresa:

1

El elemento duplicado es el elemento cuyo índice es diferente de su valor de indexOf():

let letras = ['A', 'B', 'A', 'C', 'B'];

letras.forEach((elemento, index) => {
    console.log(`${elemento} - ${index} - ${letras.indexOf(elemento)}`);
});

Salida:

A - 0 - 0
B - 1 - 1
A - 2 - 0
C - 3 - 3
B - 4 - 1

Para eliminar los duplicados, se utiliza el método filter() para incluir sólo los elementos cuyos índices coinciden con sus valores indexOf, ya que sabemos que el método filer regresa un nuevo array con base a las operaciones que se hacen dentro de este:

let letras = ['A', 'B', 'A', 'C', 'B'];

let letrasUnicas = letras.filter((elemento, index) => {
    return letras.indexOf(elemento) === index;
});

console.log(letrasUnicas);

Salida:

['A', 'B', 'C']

Y si de casualidad necesitamos los duplicados, podemos modificar un poco nuestras función, solo con cambiar nuestra regla:

let letras = ['A', 'B', 'A', 'C', 'B'];

let letrasDuplicadas = letras.filter((elemento, index) => {
    return letras.indexOf(elemento) !== index;
});

console.log(letrasDuplicadas);

salida:

['A', 'B']

3) Usando los métodos includes() y forEach()

La función include() devuelve true si un elemento está en un array o false si no lo está.

El siguiente ejemplo itera sobre los elementos de un array y añade a un nuevo array sólo los elementos que no están ya allí:

let letras = ['A', 'B', 'A', 'C', 'B'];

let letrasUnicas = [];
letras.forEach((elemento) => {
    if (!letrasUnicas.includes(elemento)) {
        letrasUnicas.push(elemento);
    }
});

console.log(letrasUnicas);

Salida:

['A', 'B', 'C']  

Básicamente, tenemos opciones para solucionar este tipo de problemas, así que no te estanques mas y puedes usar cualquiera que te resulta mas atractiva.


Si te gusto el contenido puedes seguirme en mis redes sociales como @soyleninjs

ko-fi

promo


This content originally appeared on DEV Community and was authored by Lenin Felix


Print Share Comment Cite Upload Translate Updates
APA

Lenin Felix | Sciencx (2021-09-07T23:38:22+00:00) 3 formas de remover duplicados en un Array en Javascript. Retrieved from https://www.scien.cx/2021/09/07/3-formas-de-remover-duplicados-en-un-array-en-javascript/

MLA
" » 3 formas de remover duplicados en un Array en Javascript." Lenin Felix | Sciencx - Tuesday September 7, 2021, https://www.scien.cx/2021/09/07/3-formas-de-remover-duplicados-en-un-array-en-javascript/
HARVARD
Lenin Felix | Sciencx Tuesday September 7, 2021 » 3 formas de remover duplicados en un Array en Javascript., viewed ,<https://www.scien.cx/2021/09/07/3-formas-de-remover-duplicados-en-un-array-en-javascript/>
VANCOUVER
Lenin Felix | Sciencx - » 3 formas de remover duplicados en un Array en Javascript. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/09/07/3-formas-de-remover-duplicados-en-un-array-en-javascript/
CHICAGO
" » 3 formas de remover duplicados en un Array en Javascript." Lenin Felix | Sciencx - Accessed . https://www.scien.cx/2021/09/07/3-formas-de-remover-duplicados-en-un-array-en-javascript/
IEEE
" » 3 formas de remover duplicados en un Array en Javascript." Lenin Felix | Sciencx [Online]. Available: https://www.scien.cx/2021/09/07/3-formas-de-remover-duplicados-en-un-array-en-javascript/. [Accessed: ]
rf:citation
» 3 formas de remover duplicados en un Array en Javascript | Lenin Felix | Sciencx | https://www.scien.cx/2021/09/07/3-formas-de-remover-duplicados-en-un-array-en-javascript/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.