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

66
Vistas
Fusionar objeto con las mismas claves

Tengo un objeto javascript personalizado similar a este:

 const my_obj = { 'foo1': { 'bar1': '1', 'bar2': '2', 'bar3': '3', }, 'foo1': { 'bar4': '4', 'bar5': '5', }, 'foo2': { 'bar1': '1', 'bar2': '2', } }

y quiero fusionar elementos con la misma clave, por lo que en este caso el objeto se convertiría en:

 const my_obj = { 'foo1': { 'bar1': '1', 'bar2': '2', 'bar3': '3', 'bar4': '4', 'bar5': '5', }, 'foo2': { 'bar1': '1', 'bar2': '2', } }

¿Hay alguna manera de hacer esto fácilmente?

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

0

Si intenta definir un objeto con claves en conflicto, el primero se reemplaza por el segundo (al menos en mis intentos).

Teniendo en cuenta que tiene dos objetos con las mismas claves, puede hacer dos tipos de combinación: superficial o profunda.

Si una fusión superficial es suficiente, puede usar Object.assign para hacer el trabajo como el siguiente, pero iterando para cada clave:

 obj3.foo1 = Object.assign({}, obj1.foo1, obj2.foo1);

Para copias superficiales, tenga en cuenta que las referencias se mantienen ya que Object.assign solo copia los valores como se explica en la documentación, lo que puede ser un problema para los objetos anidados.

Pero si necesita una fusión profunda, sería un poco más complicado. Supongo que la forma más fácil es usar una biblioteca como deepmerge-json :

 const result = merge(obj1, obj2)

Esto hará una fusión profunda entre los dos objetos creando un tercero sin referencia a los originales.

La ventaja de este enfoque es que los objetos se fusionarán sin importar cuántos niveles tengan.

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