Сделать функцию, которая (1) получит список свойств и (2) сравнит их величины. Если свойство является объектом, то потребуется рекурсивный вызов. Можно сначала сравнить сам список свойств, не залезая в величины. Также можно наложить дополнительные условия; например, если свойство является функцией, то исключить из сравнения.
"На коленке" где-то так. Добавь еще внутри цикла анализ, является ли свойство объектом и если да, то тогда вызывай рекурсивно эту же функцию. Это в качестве "домашнего задания" :) Чтобы сам поработал с кодом немного.
Код. Кликнуть для просмотра.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
var obj1 = {
1: 3
}
var obj2 = {
2: 4
}
function comp( o1, o2) {
if( typeof(o1) != 'object' || typeof(o2) != 'object' ) {
if( o1 == o2 ) {
return true;
}
return false;
}
var keys1 = Object.keys(o1);
var keys2 = Object.keys(o2);
if( keys1.length != keys2.length ) {
return false;
}
for( var i=0; i<keys1.length; i++) {
if( keys1[i] != keys2[i] ) {
return false;
}
if( o1[ keys1[i] ] != o2[ keys2[i] ] ) {
return false;
}
}
return true;
}
</script>
</head>
<body onload="comp( obj1, obj2 ) ? alert( 'equal' ) : alert('not equal') ">
</body>
</html>
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)