2016-04-24 2 views
1
var x = {name:'james',email:'[email protected]',tel:999}; 
var y = {name:'james',email:'[email protected]',tel:991}; 

Как я могу сравнить выше x и y с использованием цикла? Я ожидаю false, потому что tel не равен.сравнение 2 набор значений объекта

попробовал, но нашел, что это слишком грязно, чтобы поддерживать его позже. Грустно, я не мог использовать jquery.

+0

[? Как определить равенство двух JavaScript объектов] (HTTP: // stackoverflow.com/questions/201183/how-to-determine-equality-for-two-javascript-objects) – adeneo

ответ

0

Если у вас есть те же свойства в обоих объектов, как вы выше вы могли бы сделать это:

JsBin Example

var x = {name:'james',email:'[email protected]',tel:999}; 
var y = {name:'james',email:'[email protected]',tel:991}; 

for (var prop in x) { 
    if (x[prop] !== y[prop]) { 
    // do stuff here .. return false; 
    } 
} 
+0

Пожалуйста, добавьте чек на 'hasOwnProperty'. Пожалуйста. – callback

+0

не нужно здесь, как я уже сказал, при условии, что реквизит одинакова ... – JordanHendrix

+0

Ну, у нас нет полного кода, чтобы узнать цепи прототипов каждого из этих двух объектов. Поэтому мы никогда не можем быть уверены. – callback

Смежные вопросы