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
  }
};
 
     
     
     
     
    