js判斷兩個物件是是否相等

2021-10-02 07:30:47 字數 532 閱讀 6160

用object.is 只能判斷兩個物件應用的位址是不是一樣 如果兩個物件的應用位址不一樣。兩個物件對應的鍵和值是一樣的,應用位址不一樣。那麼這時候判斷兩個物件用object.is就行不通了

思路需要遞迴每個鍵看看對應的值是否一樣。

鍵對應的值有兩種可能

如果是基本資料型別 判斷他們的值是否相等就行

如果是複雜資料型別 需要依次遍歷他們的鍵看看值是否一致,當然前提鍵的數量是要一致的。

**

const deepequal = (obj1, obj2) =>  else 

}) : false;

}

例如下面兩個物件

const obj1 = ,

friend: [,]

}const obj2 = ,

friend: [,]

}

通過瀏覽器除錯

js 判斷兩個物件是否相等

判斷兩個物件是否相等 isobjectvalueequal function a,b var aprops object.getownpropertynames a var bprops object.getownpropertynames b if aprops.length bprops.len...

C 判斷兩個物件是否相等

首先在c 中判斷物件相等,是對於引用型別的,兩個 物件用 只是判斷他們的記憶體位址是否一樣 對於字串或者數值,判斷相等只需要用 運算 引用型別 1.對乙個類只是例項化一次 向那些只有賦值沒有new例項化乙個物件的話,拿這些物件指的都是乙個位址 people p1 newpeople people p...

判斷兩個物件是否相等的js函式

如果兩個物件屬性在初始化時出現的順序不一樣 但數目及值一樣,最終比較結果也是true 支援每個屬性又是其他型別,如物件 陣列 數字 字串 function equal obja,objb return allelementsequal 物件 if arguments 0 instanceof obj...