Cómo eliminar Duplicados en un Array JS?

  • Autor Autor Fox
  • Fecha de inicio Fecha de inicio
Fox

Fox

1
Zeta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Buenas, Tengo esto

Código:
var a = ["1","2","3"]
var b = ["3","4","5"]


cómo puedo obtener esto ( suponiendo que "b" lee "a" y elimina el 3 por ser repetido )

Código:
var c = ["4","5"]

Gracias
 
Última edición:
Hay chorrocientas maneras de hacer eso. Por ejemplo, puede usar un foreach para recorrer b y si el elemento de b no esta en a lo escribe en c. Pero la forma más breve que se me ocurre es esta:
c = b.filter(i => !a.includes(i))
 
Aquí hay algunas opciones que creo están bien explicadas para el caso de un solo array, pero así como tu lo planteas con dos arrays no sé, soy nuevo en programación 😅

 
Lo que planteas lo puedes resolver con métodos de es6 de manera sencilla:

JavaScript:
let a = ["1","2","3"]
let b = ["3","4","5"]

let c = b.filter(e => {
    if(!a.includes(e)) return e
})

P.D: No se recomienda el uso de la palabra reservada var actualmente.
 
  • Me gusta
Reacciones: Fox
1665692242437.webp
 
var c = Array.from(new Set([...a, ...b]))

UNA FORMA MAS FACIL CON UNA SOLA LINEA DE CODIGO SIN HACER FOR NI NADA

TE EXPLICO EL CONTEXTO

UNES LOS 2 ARRAY EN UNO SOLO Y LUEGO USAS LA Set QUE NO ADMITE VALORES REPETIDO Y LUEGO LO DEVUELVE A UN ARRAY
 
var c = Array.from(new Set([...a, ...b]))

UNA FORMA MAS FACIL CON UNA SOLA LINEA DE CODIGO SIN HACER FOR NI NADA

TE EXPLICO EL CONTEXTO

UNES LOS 2 ARRAY EN UNO SOLO Y LUEGO USAS LA Set QUE NO ADMITE VALORES REPETIDO Y LUEGO LO DEVUELVE A UN ARRAY
No compa. Eso implementa una unión y el amigo quiere una diferencia.
 

Adjuntos

  • func.webp
    func.webp
    5,1 KB · Visitas: 11
No compa. Eso implementa una unión y el amigo quiere una diferencia.
pues el titulo dice como eliminar repetidos en 2 array pense que el queria unirlos y eliminar los repetidos.
 
Lo que planteas lo puedes resolver con métodos de es6 de manera sencilla:

JavaScript:
let a = ["1","2","3"]
let b = ["3","4","5"]

let c = b.filter(e => {
    if(!a.includes(e)) return e
})

P.D: No se recomienda el uso de la palabra reservada var actualmente.
Una solución que funciona pero es redundante.
Ese IF sobra ahí, porque el callback que requiere FILTER no devuelve el elemento como tal, sino un valor booleano. Si es TRUE incluye el elemento, si es FALSE no lo incluye.

En ese caso funciona porque si el callback devuelve algo (e) entonces el interprete lo ve como un TRUE, y si el callback no devuelve nada (undefined) lo interpreta como un FALSE.
 
Atrás
Arriba