js判斷陣列或物件是否相等

2022-05-18 03:46:44 字數 1055 閱讀 9019

/*

* * 驗證兩個object 是否相同

* @param obj [需要進行驗證的資料1]

* @param newobj [需要進行驗證的資料2] */

function

objsame (obj,newobj)

for(let key in

obj)

} else

if ( obj[key] instanceof

array)

} else

if (obj[key] !=newobj[key])

}return

bol}/**

* 驗證兩個陣列是否相同

* @param arr [需要進行驗證的資料1]

* @param newarr [需要進行驗證的資料2] */

function

arrsame (arr,newarr)

for (let i = 0, n = arr.length;i < n; i++)

} else

if (arr[i] instanceof

object)

}else

if (arr[i] !=newarr[i])

}return

bol;

}

也可以單純的使用 for  in :

/*

* * 驗證兩條資料是否相同

* @param arg1 [需要進行驗證的資料1]

* @param arg2 [需要進行驗證的資料2] */

function

issame (arg1,arg2)

for (let key in

arg1)

} else

if(arg1[key] !=arg2[key])

}return

bol

}

我個人喜歡對陣列使用for,對物件使用for in,以上**只進行了粗略的測試,有什麼問題歡迎指正,不勝感激。

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就行不通了 思路需要遞迴每個鍵看看對應的值是否一樣。鍵對應的值有兩種可能 如果是基本資料型別 判斷他們的值是否相等就行 如...

Set 判斷倆個物件是否相等

set判斷倆個物件相同不是使用 運算子,而是根據equals方法。也就是說,如果只要倆個物件用equals方法比較返回true,set就不會接受這個物件,反之,只要來個物件用equals方法返回false,set就會接受這個物件 甚至這倆個物件是同乙個物件,set也可以把他們當成倆個物件 hashs...