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

如何比較上面的x和y使用循環?由於電話不平等,我期待假。比較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