我试图合并/连接2个对象,这是我目前的方式:
var mergeObj = {};
var obj1 = { name: 'abd', id: 5454756, color: 'red' }
var obj2 = { name: 'abc1', id:387589, color: 'blue'}
现在如果我合并它应该是:
Object {obj1: Object, obj2: Object}
但是我尝试了以下内容:
mergeObj = obj1.merge(obj2);
它合并到一个对象,这不是我正在寻找的。我希望以这样的方式合并,即最终对象将包含2个字段:obj1
和obj2
。
例如:
有可能吗?有什么想法吗?
感谢〜
答案 0 :(得分:2)
var obj1 = { name: 'abd', id: 5454756, color: 'red' }
var obj2 = { name: 'abc1', id:387589, color: 'blue'}
var mergeObj = { obj1: obj1, obj2: obj2 };
在javascript中,一切都是对象,属性可以是任何对象,因此您只需要创建一个新对象,并将其属性设置为原始对象。
答案 1 :(得分:1)
试试这个,
$(document).ready(function() {
var obj1 = {
name1: 'abd',
id: 5454756,
color: 'red'
}
var obj2 = {
name: 'abc1',
id: 387589,
color: 'blue'
}
$.extend(obj1, obj2);
alert(obj2.name + "," + obj1.name);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 2 :(得分:1)
由于只有两个对象,你可以简单地将它们作为新对象一起添加。
var obj1 = { name: 'abd', id: 5454756, color: 'red' },
obj2 = { name: 'abc1', id:387589, color: 'blue'},
objs = { obj1, obj2 };
console.log(obj1, obj2, objs);
// Output:
// Object {name: "abd", id: 5454756, color: "red"}
// Object {name: "abc1", id: 387589, color: "blue"}
// Object {obj1: Object, obj2: Object}
http://jsfiddle.net/daCrosby/o7jf5baa/
你可以用两个以上来做,我只是说它很简单,没有任何复杂的功能或额外的库。
答案 3 :(得分:0)
此问题似乎与jquery merge two objects重复。
adeneo提供的解决方案是:
//merging two objects into new object
var new_object = $.extend({}, object1, object2);
答案 4 :(得分:0)
看一下这段代码
var mergeObj = {};
var obj1 = { name: 'abd', id: 5454756, color: 'red' }
var obj2 = { name: 'abc1', id:387589, color: 'blue'}
mergeObj.obj1=obj1;
mergeObj.obj2=obj2;
console.log(mergeObj)