title: Merge deep objects and override
body: <p>I want to merge two objects and override first object content with second object content.</p>
  
  <p>I tried <strong>undescore</strong><code>_.extend()</code> but the result is not what I want.</p>
  
  <h2><strong>e.g</strong></h2>
  
  <strong>Objects :</strong>
  
  <pre><code>var a = {
      "firstName": "John",
      "lastName": "Doe",
      "address": {
          "zipCode": "75000",
          "city": "Paris"
      }
  };
  
  var b = {
      "firstName": "Peter",
      "address": {
          "zipCode": "99999"
      }
  };
  
  merge(a, b); /* fake function */
  </code></pre>
  
  <strong>Expected result :</strong>
  
  <pre><code>var a = {
      "firstName": "Peter",
      "lastName": "Doe",
      "address": {
          "zipCode": "99999",
          "city": "Paris"
      }
  };
  </code></pre>
  
  <p>I also tried modules like <a href="https://www.npmjs.com/package/merge" rel="nofollow">merge</a> but it did not suit me.
  How could I do it ?</p>