0

How to compare identical arrays in Javascript

MasterHash has Key with Array of values.

Name1 : [1,10],
Name2 : [2,2134],
Name3 : [3,512],
Name4 : [4,771],
Name5 : [3,555],
Name6 : [1,10],
Name7 : [5, 8888],
Name8 : [1,10],
Name9 : [3,555]

Want to get output as

1_10 : Name1, Name6, Name8
3_555: Name5, Name9
SKay
  • 147
  • 1
  • 22
  • 1
    Possible duplicate of [How to compare arrays in JavaScript?](http://stackoverflow.com/questions/7837456/how-to-compare-arrays-in-javascript) – Audite Marlow Aug 10 '16 at 13:53

1 Answers1

0

You could do this with Object.keys() and reduce() and return object.

var data = {Name1 : [1,10],Name2 : [2,2134],Name3 : [3,512],Name4 : [4,771],Name5 : [3,555],Name6 : [1,10],Name7 : [5, 8888],Name8 : [1,10],Name9 : [3,555]}

var o = {}
var result = Object.keys(data).reduce(function(r, e) {
  var k = data[e].join('_');
  o[k] = (o[k] || []).concat(e);
  if(o[k].length > 1) r[k] = o[k];
  return r;
}, {});


document.body.innerHTML = '<pre>' + JSON.stringify(result, 0, 4) + '</pre>';
Nenad Vracar
  • 118,580
  • 15
  • 151
  • 176