HTMLeando: para desarrolladores Web

Pregunta


¿Cómo unir las propiedades de dos objetos Javascript? 

Responder esta pregunta por dudin el 2009-02-17
Necesito unir dos objetos Javascript muy simples en tiempo de ejecución, por ejemplo:
var objeto1 = { nombre: 'Pepe', nick: 'loco' };
var objeto2 = { edad: 28, auto: 'Ferrari' };

Que al aplicar una función o método de unión:
var objeto3 = unir(objeto1, objeto2);

Obtenga un resultado similar al siguiente:
// objeto3 -> { nombre: 'Pepe', nick: 'loco', edad: 28, auto: 'Ferrari' }

Respuestas

Thumb_up
Thumb_down

0%
0%
La siguiente función te permitirá hacer algo similar a lo que deseas, la misma copia todas las propiedades del objeto2 en el objeto1:
var objeto1 = { nombre: 'Pepe', nick: 'loco' };
var objeto2 = { edad: 28, auto: 'Ferrari' };
 
function unir(objeto1,  objeto2) {
   for (propiedad in objeto2) {
      objeto1[propiedad] = objeto2[propiedad];
   }
 return objeto1;
}
unir(objeto1, objeto2);

Para comprobar el resultado final:
//Comprobación
   for (propiedad in objeto1) {
      alert(propiedad+':' + objeto1[propiedad]);
   }
por maikel el 2009-02-17

Thumb_up
Thumb_down

0%
0%
Frameworks JavaScript como Prototype poseen http://Object.extend (destino, fuente), que permite copiar igualmente todas las propiedades desde un objeto fuente a otro destino.
Object.extend = function(destination, source) {
    for (var property in source) destination[property] = source[property];
    return destination;
};
Por lo que para resolver este caso sería muy sencillo:
Object.extend(objeto1, objeto2);
por maikel el 2009-02-17

Anónimo:   Entrar


Consejo: Sé tan específico y descriptivo como puedas. Comparte tu experiencia personal o tus conocimientos.
Puedes investigar para completar tu respuesta.

Puedes poner directamente trozos de código usando las etiquetas [code=php] y [/code] o incrustar desde Snipplr.com [snippet=id_snippet]

Compartir: WebeameMeneame Delicious Digg

Preguntas relacionadas