Array with objects - return duplicates

Array with objects - return duplicates

by web-nfo.com

JavaScript

console.clear();

var items1 = [
  {'id': 5, 'aid': '5', 'title': 'five'},
  {'id': 6, 'aid': '6', 'title': 'six'},
  {'id': 7, 'aid': '7', 'title': 'seven'},
  {'id': 8, 'aid': '8', 'title': 'eight'},
  {'id': 9, 'aid': '9', 'title': 'nine'}
];

var items2 = [
  {'id': 2, 'aid': '2', 'title': 'two'},
  {'id': 6, 'aid': '6', 'title': 'six'},
  {'id': 7, 'aid': '7', 'title': 'seven'},
  {'id': 8, 'aid': '8', 'title': 'eight'},
];

var items3 = [
	{'id': 3, 'aid': '3', 'title': 'three'},
  {'id': 7, 'aid': '7', 'title': 'seven'},
  {'id': 8, 'aid': '8', 'title': 'eight'},
  {'id': 6, 'aid': '6', 'title': 'six'},
];

var items4 = [
  {'id': 7, 'aid': '7', 'title': 'seven'},
  {'id': 8, 'aid': '8', 'title': 'eight'},
  {'id': 12, 'aid': '12', 'title': 'twelve'}
];

var items5 = [
	{'id': 4, 'aid': '4', 'title': 'four'},
  {'id': 5, 'aid': '5', 'title': 'five'},
  {'id': 6, 'aid': '6', 'title': 'six'},
  {'id': 7, 'aid': '7', 'title': 'seven'},
  {'id': 8, 'aid': '8', 'title': 'eight'},
  {'id': 9, 'aid': '9', 'title': 'nine'},
  {'id': 10, 'aid': '10', 'title': 'ten'}
];

/*
var ids = [];
for(var i=0; i<items1.length; i++) {
	ids.push(items1[i]);
}
*/


var result = items1.filter(function(item) {
	var i;
  for(i=0; i<items2.length; i++) {
  	var item_compare = items2[i];
    if(item_compare.id == item.id) {
      return true;
    }
  }
  return false;
});

function compareArrays(array_first, array_second) {
	var result = array_first.filter(function(item) {
    var i;
    for(i=0; i<array_second.length; i++) {
      if(array_second[i].id == item.id) {
        return true;
      }
    }
    return false;
  });
  return result;
};

var results = items1.concat();
console.log('starting items=', results);

results = compareArrays(results, items2);
console.log('compare1=', results);

results = compareArrays(results, items3);
console.log('compare2=', results);

results = compareArrays(results, items4);
console.log('compare3=', results);


return;

var result =...