I'm trying to write a function that will let me update my kitchen
in this example below. Using something like underscore's extend
, however, blows away the beer in my fridge as it's updating the entire fridge
object.
Is there a simple method I can use so that I only make updates with the properties that change in my changeKitchen
object and not update the entire fridge
object?
// My original kitchen
var kitchen = {
fridge: {
beer: true,
celery: false
},
cabinets: {
candy: true
}
};
// updates I would like to make to my kitchen
var changeKitchen = {
fridge: {
celery: true
}
};
var updatedKitchen = _.extend(kitchen, changeKitchen);
console.log(updatedKitchen);
Returns
var kitchen = {
fridge: {
celery: false // beer is gone
},
cabinets: {
candy: true
}
};
However I would like to have:
var kitchen = {
fridge: {
beer: true,
celery: true // changed
},
cabinets: {
candy: true
}
};