我有兩個對象obj1和obj2。如果obj2有一個obj1沒有的鍵,那麼obj2鍵/值對將被添加到obj1。如何從另一個對象添加屬性,如果它不存在於JavaScript中的第一個對象中
例如:
obj1 = {
a:1,
b:2
}
obj2 = {
b:4,
c:3
}
C:3將被投入OBJ1。
下面是我作爲一個嘗試,但我的大腦正在這個圈子裏運行。我根本不能修改第二個對象(不需要),如果它也存在於obj2中,我必須將值保留在obj1中。
function extend(obj1, obj2) {
function comparison(obj1,obj2){
var object1keys = Object.keys(obj1)
var object2keys = Object.keys(obj2)
var flag = 0
for(var i = 0; i<object2keys.length;i++){
flag = 0
for(var j = 0; j<object1keys.length;j++){
if(object2keys[i] === object1keys[j]){
flag = 1
console.log(i,j)
break
}
if(flag = 0 && j == object1keys.length - 1){
obj1[i] = obj2[j]
}
}
}
return obj1
}
return obj1
}
的可能的複製[合併JS對象,而不會覆蓋(http://stackoverflow.com/questions/7549574/merge-js-objects-without-overwriting) –