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

642
Vistas
¿Cómo puedo unir dos objetos en Angular?

¿Cómo unirse al objeto en angular 2?

respuesta de objeto 1

 0:Object 1:Object 2:Object 3:Object

respuesta de objeto 2

 0:Object 1:Object 2:Object 3:Object

componente myComponent

 resultdata :any=Array; fooddrinks_data_func(Defaultparams){ return this.CitiesService.getresult(Defaultparams).subscribe(data => { this.resultdata = this.resultdata.join(data.categorylistvalues); }); }

me sale este error

error_handler.js:59 STACKTRACE ORIGINAL: ErrorHandler.handleError @ error_handler.js:59 next @ application_ref.js:348 schedulerFn @ async.js:93 SafeSubscriber.__tryOrUnsub @ Subscriber.js:234 SafeSubscriber.next @ Subscriber.js:183 Suscriptor ._next @ Subscriber.js:125 Subscriber.next @ Subscriber.js:89 Asunto.siguiente @ Asunto.js:55 EventEmitter.emit @ async.js:79 NgZone.triggerError @ ng_zone.js:333 onHandleError @ ng_zone.js: 294 webpackJsonp.1416.ZoneDelegate.handleError @ zone.js:338 webpackJsonp.1416.Zone.runTask @ zone.js:169 ZoneTask.invoke @ zone.js:420 error_handler.js:60 TypeError: _this.resultdata.join no es Una función

el resultado final debería ser así.

this.resultdata

 0:Object 1:Object 2:Object 3:Object 4:Object 5:Object 6:Object 7:Object
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Creo que estás buscando object.assign() ?

El método Object.assign() se utiliza para copiar los valores de todas las propiedades propias enumerables de uno o más objetos de origen a un objeto de destino. Devolverá el objeto de destino.

 var obj1 = { a: 1 }; var obj2 = { b: 2 }; var merged = Object.assign(obj1, obj2); console.log(merged); // { a: 1, b: 2 }

about 4 years ago · Santiago Trujillo Denunciar

0

Al leer tu código dos detalles me llamaron la atención:

  • los datos de resultados no se escribieron como Array
  • no hubo map() después de la llamada al método getResult, que supongo que es una llamada remota.

Así que esta es mi sugerencia de cambio de código.

 resultdata :Array<any> = []; fooddrinks_data_func(Defaultparams){ return this.CitiesService.getresult(Defaultparams) .map((response) => response.json()) .subscribe(data => { this.resultdata = this.resultdata.join(data.categorylistvalues); }); }

about 4 years ago · Santiago Trujillo Denunciar

0

La respuesta de @Mike funciona bien.

 var obj1 = { a: 1 }; var obj2 = { b: 2 }; var merged = Object.assign(obj1, obj2); console.log(merged); // { a: 1, b: 2 }

pero después de Object.assign obj1 también se vuelve igual que fusionado

 console.log(obj1); // { a: 1, b: 2 }

Puede usar lodash para usar una solución de revestimiento

 var obj1 = {a :1}; var obj2 = { b: 2}; _.merge(obj1, obj2);

El resultado será ---->

 { "a": 1, "b": 2 }

Además de eso, perderá la clave si ambos objetos tienen el mismo nombre de clave.

about 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