Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

116
Vistas
Compare dos matrices de objetos (dado que los objetos tienen los mismos accesorios, pero no los valores)

Considere a continuación dos matrices de objetos:

 const arr1 = [ {name: "name1", id: 1}, {name: "name2", id: 2}, {name: "name3", id: 3} ]; const arr2 = [ {name: "name1", id: 1}, {name: "name2", id: 4}, {name: "name3", id: 3} ];

La comparación de estos dos objetos debe devolver false porque hay valores para prop id en arr2 que faltan en arr1 (es decir, id: 4 ).

En este punto, se ha hecho el siguiente intento:

 arr1.every(i => i.id === arr2.map(z =>z.id));

NOTA: Supongamos arr2 fuera:

 const arr2 = [ {name: "name1", id: 1}, {name: "name3", id: 3} ];

La comparación debe devolver true , ya que la id de cada elemento en arr2 se encuentra en los elementos de arr1 .

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Estás muy cerca, pero el map es para asignar cada elemento de la matriz a algún valor nuevo, no para ver si existe un elemento. Usarías some para eso, y querrías invertir las matrices a las que llamas every y some :

 const flag = arr2.every(element => arr1.some(({id}) => id === element.id));

Eso dice: "¿Todos los elementos de arr2 tienen al menos un elemento coincidente en arr1 por id ?"

Ejemplo en vivo:

 const arr1 = [ {name: "name1", id: 1}, {name: "name2", id: 2}, {name: "name3", id: 3} ]; const arr2 = [ {name: "name1", id: 1}, {name: "name2", id: 4}, {name: "name3", id: 3} ]; const arr3 = [ {name: "name1", id: 1}, {name: "name3", id: 3} ]; const result1 = arr2.every(element => arr1.some(({id}) => id === element.id)); console.log("arr2 and arr1: " + result1); const result2 = arr3.every(element => arr1.some(({id}) => id === element.id)); console.log("arr3 and arr1: " + result2);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda