我有两个对象
var obj1 = {a: 1, b: true, c: false};
var boj2 = {b: true, c: true, d: 1};
我希望有一个像这样的两个对象的联合:
{a: 1, b: true, c: false, d: 1};
我尝试过使用$.extend
,但它覆盖了c
,我获得了
{a: 1, b: true, c: true, d: 1};
一些建议?
答案 0 :(得分:0)
您可以撤销订单
var obj1 = {a: 1, b: true, c: false};
var obj2 = {b: true, c: true, d: 1};
console.log($.extend(obj2,obj1));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:0)
我已经整理了一个可能有助于解决问题的JSFiddle - 请参阅https://jsfiddle.net/fhjuL22s/1/
var obj1 = {a: 1, b: true, c: false, e: 0};
var obj2 = {b: true, c: true, d: 1, e: 1};
var result = {};
for (var prop in obj1){
result[prop] = obj1[prop]
? (obj2.hasOwnProperty(prop) ? obj2[prop] : obj1[prop])
: obj1[prop];
}
for (var prop in obj2) {
if (!result.hasOwnProperty(prop))
result[prop] = obj2[prop];
}
console.log(result)
答案 2 :(得分:0)