Ich habe zwei Objekte, obj1 und obj2. Wenn obj2 einen Schlüssel hat, den obj1 nicht hat, wird dieses obj2-Schlüssel/Wert-Paar zu obj1 hinzugefügt.So fügen Sie eine Eigenschaft aus einem anderen Objekt hinzu, wenn sie nicht im ersten Objekt in JavaScript vorhanden ist
zum Beispiel:
obj1 = {
a:1,
b:2
}
obj2 = {
b:4,
c:3
}
c: 3 stellen in obj1 würde.
Hier ist, was ich als Versuch habe, aber mein Gehirn wird dadurch im Kreis geführt. Ich kann das zweite Objekt überhaupt nicht ändern (muss nicht), und ich muss den Wert in obj1 behalten, wenn es auch in obj2 existiert.
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
}
Mögliche Duplikat [Merge JS Objekte ohne Überschreiben] (http://stackoverflow.com/questions/7549574/merge-js-objects-without-overwriting) –