Update Object
by Jay Scott. ANDERSON
JavaScript
function update (targetObject, obj) {
Object.keys(obj).forEach(function (key) {
if ( 'object' === typeof obj[key] && !Array.isArray(obj[key]) ) {
update(targetObject[key], obj[key])
}
else if ( 'string' === typeof obj[key] || 'number' === typeof obj[key] ) {
targetObject[key] = obj[key]
}
})
}
var currentObject = {
someValue : "value",
myObject : {
attribute1 : "foo",
attribute2 : "bar"
}
}
var updateObject = {
myObject : {
attribute2 : "hello world"
}
}
update(currentObject, updateObject)
console.log('attribute1: ', currentObject.myObject.attribute1)
console.log('attribute2: ', currentObject.myObject.attribute2)