2014-02-25 120 views
0

如何将对象的属性合并到JavaScript/JQuery中的对象中?如何合并对象属性并让它合并到一个对象下

我有以下两个对象,OBJ & OBJ 2:

var obj = { 
    a: '1', 
    b: '2' 
} 

var obj2 = { 
    c: '3', 
    d: '4' 
} 

我想将它们合并到这样的事情:

var obj = { 
    a: '1', 
    b: '2', 
    c: '3', 
    d: '4' 
} 

任何帮助将不胜感激!谢谢!

回答

1
var obj = $.extend({},obj,obj2); 

Fiddle

1

您可以使用jquery.extend(),它结合了两个或多个对象的内容汇集成的第一个对象

$.extend(obj, obj2); 

DEMO

0

Working Fiddle

CODE:

function merge(obj1,obj2){ 
var obj3 = {}; 
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; } 
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; } 
return obj3; 
} 
var obj = { 
a: '1', 
b: '2' 
} 

var obj2 = { 
c: '3', 
d: '4' 
} 
alert(merge(obj,obj2)["a"]); 
alert(merge(obj,obj2)["b"]); 
alert(merge(obj,obj2)["c"]); 
alert(merge(obj,obj2)["d"]); 
0

您可以使用还原为合并多个对象:

function merge() { 
    return [].reduce.call(arguments, function(a,e) { 
    for (var i in e) a[i] = e[i]; 
    return a; 
    },{}); 
} 

var a = {a:'a'}; 
var b = {b:'b'}; 
var c = {c:'c'}; 

merge(a,b,c); //=> {a:'a', b:'b', c:'c'} 
0

试试这个: -

var dT_1 = '{"a": "1", "b":"2"}'; 
var dT_2 = '{"c": "3", "d":"4"}'; 

var jD_1 = JSON.parse(dT_1); 
var jD_2 = JSON.parse(dT_2); 

var obj = $.extend({},jD_1,jD_2); // Object {a: "1", b: "2", c: "3", d: "4"}