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

181
Vistas
Compare las dos matrices y reemplace/combine los valores de id presentes en la otra matriz (js)

Tengo dos matrices, y quiero poder comparar las dos y reemplazar los valores del objeto para la identificación presente en la matriz de información con la matriz de detalles y completar el resto tal como está. No he encontrado nada como esto. ¿Cuál sería la mejor manera de devolver similitudes?

 const details = [{ id: "id1", description: "new description-1" }, { id: "id3", linkUrl: "new link-1" } ] const info = [{ id: "id1", description: "old description-1", linkUrl: "#id1link-1", image: "#imageUrl-1" }, { id: "id2", description: "description-2", linkUrl: "#id1link-2", image: "#imageUrl-2" }, { id: "id3", description: "description-3", linkUrl: "#old link-2", image: "#imageUrl-2" } ] const result = [{ id: "id1", description: "new description-1", linkUrl: "#id1link-1", image: "#imageUrl-1" }, { id: "id2", description: "description-2", linkUrl: "#id1link-2", image: "#imageUrl-2" }, { id: "id3", description: "description-3", linkUrl: "#new link-2", image: "#imageUrl-2" } ]
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Asignación de uso de mapas, búsqueda y desestructuración.

 const result = info.map(item => { const new_info = details.find(detail => detail.id === item.id); return { ...item, ...new_info, }; })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Para grandes cantidades de datos, es mejor crear primero un mapa para los datos de detalles, de modo que la recuperación de una identificación pueda ocurrir en un tiempo constante:

 const details = [{id:"id1",description: "new description-1"},{id: "id3",linkUrl: "new link-1"}]; const info = [{id: "id1",description: "old description-1",linkUrl: "#id1link-1",image: "#imageUrl-1"},{id: "id2",description: "description-2",linkUrl: "#id1link-2",image: "#imageUrl-2"},{id: "id3",description: "description-3",linkUrl: "#old link-2",image: "#imageUrl-2"}]; const map = new Map(details.map(({id, ...rest}) => [id, rest])); const result = info.map(o => ({...o, ...map.get(o.id)})); console.log(result);

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