JSFiddle - React, Tailwind, and code Playground
JavaScript
var init = function(){
var one = new Array();
var two = new Array();
root = new Array();
root.push(one);
root.push(two);
var one_one = {'id': 1, 'name':"one_one"};
var one_two = {'id': 2, 'name':"one_two"};
var two_one = {'id': 3, 'name':"one_two"};
var two_two = {'id': 1, 'name':"one_one"};
one.push(one_one);
one.push(one_two);
two.push(two_one);
two.push(two_two);
}
this.check = function(_array){
for (var element in _array) {
if( Object.prototype.toString.call( _array[element] ) === '[object Array]'){
// Found an array
this.check(_array[element]);
} else{
// Found an object
toCheck = JSON.stringify(_array[element]);
counter = 0;
this.checkDuplicates(root, toCheck);
if(counter == 2){
console.log("duplicate found for item: " + toCheck)
}
}
}
}
this.checkDuplicates = function(_array, toCheck){
for (var element in _array) {
if( Object.prototype.toString.call( _array[element] ) === '[object Array]'){
// Found an array
this.checkDuplicates(_array[element], toCheck);
} else{
// Found an object
if(JSON.stringify(_array[element]) === toCheck){
counter++;
}
}
}
}
init();
check(root);