<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>對象深度比較</title>
</head>
<body>
<script>
//保證傳入的必須是對象和不為空
function isObject(obj){
return typeof obj === "object" && obj !== null
}
//全相等
function isEqual(obj1, obj2){
if(!isObject(obj1) || !isObject(obj2)){
//值類型比較(參與equl的一般不會是函數(shù))
return obj1 === obj2
}
if(obj1 === obj2){
return true
}
// 兩個都是數(shù)組或者對象且不相等
// 1.先取出obj1 和obj2的 keys值山涡,比較長度
const obj1Keys = Object.keys(obj1);
const obj2Keys = Object.keys(obj2);
if(obj1Keys.length !== obj2Keys.length){
return false
}
//以obj1 為基準和obj2進行遞歸比較
for (let key in obj1) {
// 比較當前 key 的 val --- 遞歸
const res = isEqual(obj1[key],obj2[key])
if(!res){
return false
}
}
return true
}
obj1 = {
a:100,
b:100,
c:{
x:100,
y:100
}
}
obj2 = {
a:100,
b:100,
c:{
x:100,
y:100
}
}
console.log(isEqual(obj1,obj2))
</script>
</body>
</html>
isEquel深度比較
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門唱蒸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人灸叼,你說我怎么就攤上這事神汹∏燹啵” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵屁魏,是天一觀的道長滔以。 經(jīng)常有香客問我,道長氓拼,這世上最難降的妖魔是什么你画? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮桃漾,結果婚禮上坏匪,老公的妹妹穿的比我還像新娘。我一直安慰自己撬统,他們只是感情好适滓,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恋追,像睡著了一般凭迹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上苦囱,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼睦裳!你這毒婦竟也來了造锅?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布掌呜,位于F島的核電站滓玖,受9級特大地震影響,放射性物質發(fā)生泄漏质蕉。R本人自食惡果不足惜势篡,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饰剥。 院中可真熱鬧殊霞,春花似錦、人聲如沸汰蓉。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽顾孽。三九已至祝钢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間若厚,已是汗流浹背拦英。 一陣腳步聲響...