我正在尝试将一个对象的属性添加到另一个对象中,而无需覆盖原始属性。
//Start
obj1 = {a: 1, b: 2, c: 3}
obj2 = {b: 4, c: 3, d: 4}
//Goal
obj1 = {a: 1, b: 2, c: 3, d: 4}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下,但我看不出它:
function mergeProp(obj1, obj2) { //obj1 is destination, obj2 is source
for (var a in obj2) {
if (obj2.hasOwnProperty(a) && !obj1.hasOwnProperty(a)) {
obj1[a] = obj2[a];
}
}
return obj1 //returns {a: 1, b: 4, c: 3, d: 4} should have {...b: 2...}
}
Run Code Online (Sandbox Code Playgroud)
这将返回被覆盖的属性。我尝试了这种变体,但似乎总是被覆盖,或者缺少obj1 的属性
我也试过这个代码:
function extend(obj1, obj2) …Run Code Online (Sandbox Code Playgroud)