mirror of
https://github.com/caperren/school_archives.git
synced 2025-11-09 21:51:15 +00:00
45 lines
1005 B
JavaScript
45 lines
1005 B
JavaScript
function deepEqual(a, b){
|
|
if(((typeof(a) === 'object') && (a !== null)) &&
|
|
((typeof(b) === 'object') && (b !== null))){
|
|
|
|
var size_a = 0;
|
|
var size_b = 0;
|
|
|
|
for(prop in a){ size_a++; }
|
|
|
|
for(prop in b){ size_b++; }
|
|
|
|
if(size_a == size_b){
|
|
for(prop in a){
|
|
if(!b.hasOwnProperty(prop)){
|
|
return false;
|
|
}
|
|
}
|
|
|
|
for(prop in a){
|
|
if(!deepEqual(a[prop], b[prop])){
|
|
return false;
|
|
}
|
|
}
|
|
|
|
}else{
|
|
return false;
|
|
}
|
|
|
|
}else{
|
|
return (a === b);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
var obj = {here: {is: "an"}, object: 2};
|
|
console.log(deepEqual(obj, obj));
|
|
|
|
console.log(deepEqual(obj, {here: 1, asd: 2}));
|
|
|
|
console.log(deepEqual(obj, {here: {is: "an"}, object: 2}));
|
|
|
|
//console.log(deepEqual(1, 2));
|
|
|
|
//console.log(deepEqual(2, 2));
|