title: How to Remove duplicates from an array of objects using ES6?
body: <p>I'm wondering what the best method would be to merge 2 array of objects <code>itemsA</code> and <code>itemsB</code>. The data once merged should be in <code>mergedList</code>. </p>
  
  <p>Criteria:</p>
  
  <ol>
  <li>Items with <code>source='STAPLE'</code> should not repeat in merged array.</li>
  <li>Items with any other source may repeat. For exampele an item <code>name: 'Ball'</code> by <code>source: 'USER'</code> may exist twice.</li>
  </ol>
  
  <p><code>itemsA</code> has 6 items, <code>itemsB</code> has 7 items and <code>mergedList</code> should have 11 items</p>
  
  <pre><code>let itemsA = [
  {name: 'Milk', source: 'STAPLE'},
  {name: 'Bread', source: 'AD'},
  {name: 'Egg', source: 'STAPLE'},
  {name: 'Ball', source: 'USER'},
  {name: 'Pasta', source: 'STAPLE'},
  {name: 'Coke', source: 'AD'}];
  let itemsB = [
  {name: 'Milk', source: 'USER'},
  {name: 'Bread', source: 'AD'},
  {name: 'Egg', source: 'STAPLE'},
  {name: 'Ball', source: 'USER'},
  {name: 'Mango', source: 'USER'},
  {name: 'Pasta', source: 'STAPLE'},
  {name: 'Coke', source: 'USER'}]
  </code></pre>
  
  <p><code>mergedList</code> should equal to </p>
  
  <pre><code>let mergedList = [
  {name: 'Milk', source: 'STAPLE'},
  {name: 'Bread', source: 'AD'},
  {name: 'Egg', source: 'STAPLE'},
  {name: 'Ball', source: 'USER'},
  {name: 'Pasta', source: 'STAPLE'},
  {name: 'Coke', source: 'AD'}] 
  {name: 'Milk', source: 'USER'},
  {name: 'Bread', source: 'AD'},
  {name: 'Ball', source: 'USER'},
  {name: 'Mango', source: 'USER'},
  {name: 'Coke', source: 'USER'}]   ];
  </code></pre>