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

233
Vistas
¿Cómo fusionar objetos?

Por ejemplo, de estos dos objetos:

 var object1 = { "color": "yellow", "size": null, "age": 7, "weight": null } var object2 = { "color": "blue", "size": 51, "age": null }

Quiero esto ( object2 anula object1 excepto por propiedades null o propiedades que no tiene):

 { "color": "blue", "size": 51, "age": 7, "weight": null }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Dupdo

 var src = { name: 'Apple', price: 5}; var dst= angular.copy(src);
  • copia profunda

extender :

 var mergedObject = angular.extend(dst, src1, src2, ...)
  • copia superficial

Fusionar :

 var mergedObject = angular.merge(dst, src);
  • desde angular 1.4+
  • copia profunda (recursiva)

Si no desea sobrescribir con nulo, puede usar este .


Objeto.assign() :

 let movie2 = Object.assign({}, movie1, { episode: 8 });
  • para Angular 2+ (ECMAScript 6)

Fuentes:

  • https://docs.angularjs.org/api/ng/function

  • http://davidcai.github.io/blog/posts/copy-vs-extend-vs-merge/

over 4 years ago · Santiago Trujillo Denunciar

0

Para versiones más nuevas (al menos 1.4.0) de angular, puede usar angular.merge

A diferencia de extend(), merge() desciende recursivamente a las propiedades de los objetos de origen, realizando una copia profunda.

over 4 years ago · Santiago Trujillo Denunciar

0

Usar anualr.extend no producirá el resultado solicitado. El valor nulo de object2.age anulará el valor de object1.age.

angular.extend(objeto1, objeto2) producirá el siguiente resultado:

 { "color" : "blue", "size" : 51, "age" : null, <=== undesirable result "weight" : null }

Use el siguiente código para omitir las propiedades nulas

 for (var prop in object1) { if(object1.hasOwnProperty(prop) && object2.hasOwnProperty(prop) && object2[prop]!=null) { object1[prop] = object2[prop]; } }

Esto producirá el siguiente resultado solicitado

 { "color" : "blue", "size" : 51, "age" : 7, "weight" : null }
over 4 years ago · Santiago Trujillo 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