判斷兩個物件內容值是否相等

2022-07-30 14:24:21 字數 858 閱讀 2687

現在有兩個物件:

let a = 

let b =

如何判斷物件a和物件b相等呢?

a==b //false

object.is(a,b) //false

這個時候需要自己定義乙個方法來判斷物件內容值是否相等,**如下:

function

objequal(a, b)

for (let key in

a)

if (a[key] !==b[key])

}return

true

}

但是,如果涉及到物件內部還存在複式結構的,比如:

let c = }

let d = }

這樣如何解決呢?

回答:採用巢狀就可以啦~~

**如下:

function

objequal(a, b)

for (let key in

a)

if (typeof(b[key]) === 'function' || typeof(a[key]) === 'function')

if (typeof(b[key]) != typeof

(a[key]))

if (typeof(a[key]) === 'object')

if (a[key] !==b[key])

}return

true

}

記錄一下我的實現過程,參考參考~~

C 判斷兩個物件是否相等

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

js 判斷兩個物件是否相等

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

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

用object.is 只能判斷兩個物件應用的位址是不是一樣 如果兩個物件的應用位址不一樣。兩個物件對應的鍵和值是一樣的,應用位址不一樣。那麼這時候判斷兩個物件用object.is就行不通了 思路需要遞迴每個鍵看看對應的值是否一樣。鍵對應的值有兩種可能 如果是基本資料型別 判斷他們的值是否相等就行 如...