嘿,我有一噸的解決這個問題麻煩鍵名:需要從一個對象有出過寫現有對象擴展性到另一個如果他們共享
寫調用的函數「擴展」。
給定兩個對象,「extend」將第二個對象的屬性添加到第一個對象。
備註: *添加不在第一個對象中的任何鍵。 *如果第一個對象已經有一個給定的鍵,忽略它(不要覆蓋屬性值)。 *不要修改第二個對象。
var obj1 = {
a: 1,
b: 2
};
var obj2 = {
b: 4,
c: 3
};
extend(obj1, obj2);
console.log(obj1); // --> {a: 1, b: 2, c: 3}
console.log(obj2); // --> {b: 4, c: 3}
到目前爲止,我有這樣的:
obj1 = {a: 1, b: 2, c: 3};
obj2 = {b: 4, c: 3, d: 4};
function extend(obj1, obj2) {
var keyz1 = Object.keys(obj1);
var keyz2 = Object.keys(obj2);
for (var i = 0; i < keyz2.length; i++){
if (keyz1.indexOf(keyz2[i]) === -1) {
var searchKey = keyz2[i];
for (searchKey in obj2) {
obj1[searchKey] = obj2[searchKey];
}
}
}
return obj1;
}
我相信這是與我的實際
obj1[searchKey] = obj2[searchKey];
,但我有麻煩找出如何解決它。
你覺得'什麼VAR searchKey = keyz2 [I]; for(searchKey in obj2){}'確實如此? –