title: Delete key from immutable object (redux state)
body: <p>I'm writing a redux reducer to delete a key from a state object:</p>
  
  <pre><code>state = {
    items: {
      key1: {foo: 'bar'},
      key2: {foo: 'baz'}
    },
    someOtherKey: 'value'
  }
  </code></pre>
  
  <p>My reducer:</p>
  
  <pre><code>function reducer(state, action) {
    if (action=='DEL') {
      return {
        ...state,
        items: {
          ...state.items,
          [action.key]: undefined
        }
      }
    }
  }       
  </code></pre>
  
  <p>I expected that this would return a new state with the respective property deleted, but instead it returns a new state with the key still present in the object but having the value <code>undefined</code>.</p>
  
  <p>Is there an elegant way in ES6 to write such a reducer? I guess I could use <code>Object.assign</code> and delete the property, but the above pattern is so much more expressive, so I'd like to write it this way if possible.</p>