Merge an array of objects in a sorted manner with out duplicates

Merge an array of objects in a sorted manner with out duplicates

by Rajdeep Chandra

JavaScript

var initialData = [{
    id: 1
  },
  {
    id: 3
  },
  {
    id: 5
  },
  {
    id: 6
  }
];

var newData = [{
    id: 2
  },
  {
    id: 4
  },
  {
    id: 6
  },
  {
    id: 1
  }
];

function mergeArrays(x, y) {
  var ids = new Set(initialData.map(d => d.id));
  var merged = [...initialData, ...newData.filter(d => !ids.has(d.id))];
  return merged.sort((a, b) => a.id - b.id);
}

console.log(mergeArrays(initialData, newData))