Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> как сравнить два объекта?
123456  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 889
Пользователь №: 30352
На форуме: 5 лет, 1 месяц, 4 дня
Карма: 12




как сравнить два объекта?

var a = {
1 : 3
};

var b = {
1 : 3
};


alert(a == b);


PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1677
Пользователь №: 16955
На форуме: 7 лет, 9 месяцев, 15 дней
Карма: 94




JSON.stringify(a) === JSON.stringify(b) 


--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
123456  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 889
Пользователь №: 30352
На форуме: 5 лет, 1 месяц, 4 дня
Карма: 12




Oyeme
Спасибо!
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11789
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 17 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 17 дней


Цитата (Oyeme @ 18.03.2016 - 19:38)
JSON.stringify(a) === JSON.stringify(b) 

а порядок сериализации гарантирован спецификацией?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14980
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 5 дней
Карма: 444




Цитата (123456 @ 18.03.2016 - 19:34)
как сравнить два объекта?

Сделать функцию, которая (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, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса