// 1.判断是否为对象
// 2.是否同一个对象
// 3.长度是否相等
// 4.递归比较
function isEqual(obj1,obj2){
if(obj1 === obj2){
return true
}
let obj1Keys = Object.keys(obj1)
let obj2Keys = Object.keys(obj2)
if(obj1Keys.length !== obj2Keys.length){
return false
}
for(let key in obj1){
let res = isEqual(obj1[key],obj2[key])
if(!res) {
return false
}
}
return true
}
const obj1 ={
a:100,
b:{
x:100,
y:200,
z:300
}
}
const obj2 ={
a:100,
b:{
x:100,
y:200
}
}
console.log(isEqual(obj1,obj2))
js手写深度比较
最新推荐文章于 2024-09-02 17:34:07 发布