title: Remove a property in an object immutably
body: <p>I am using Redux. In my reducer I'm trying to remove a property from an object like this:</p>
  
  <pre><code>const state = {
      a: '1',
      b: '2',
      c: {
         x: '42',
         y: '43'
      },
  }
  </code></pre>
  
  <p>And I want to have something like this without having to mutate the original state:</p>
  
  <pre><code>const newState = {
      a: '1',
      b: '2',
      c: {
         x: '42',
      },
  }
  </code></pre>
  
  <p>I tried: </p>
  
  <pre><code>let newState = Object.assign({}, state);
  delete newState.c.y
  </code></pre>
  
  <p>but for some reasons, it deletes the property from both states.</p>
  
  <p>Could help me to do that?</p>