-2

I have array and I want to find duplicated values in array and then console.log. my array:

var arr = [{
id: 1,
name: "a"
},{
id: 1,
name: "b"
},{
id: 2,
name: "c"
}]

if ID is duplicate!

Ironcar Driftman
  • 101
  • 1
  • 11

1 Answers1

0

Make use of the fact that objects in JavaScript must have unique keys:

var arr = [{
id: 1,
name: "a"
},{
id: 1,
name: "b"
},{
id: 2,
name: "c"
}];

var mergedData = {};
for (var i = 0; i < arr.length; i++) {
  var data = arr[i];

  var merged = mergedData[data.id];
  if (!merged) {
    merged = [];
    mergedData[data.id] = merged;
  }

  merged.push(data.name);
}

console.log(mergedData);

We're using the ID as key in an object (which has to be unique) and put all corresponding names into a list.

TomTasche
  • 5,448
  • 7
  • 41
  • 67