JS基础 - 手写深度比较isEqual
2021-01-30 03:13
标签:值类型 == 结束 不同 类型 seq 基础 return UNC 思路:深度比较两个对象,就是要深度比较对象的每一个元素。=> 递归 深度比较每一个key 代码: JS基础 - 手写深度比较isEqual 标签:值类型 == 结束 不同 类型 seq 基础 return UNC 原文地址:https://www.cnblogs.com/xintangchn/p/13197207.html
function isEqual(obj1, obj2){
//其中一个为值类型或null
if(!isObject(obj1) || !isObject(obj2)){
return obj1 === obj2;
}
//判断是否两个参数是同一个变量
if(obj1 === obj2){
return true;
}
//判断keys数是否相等
const obj1Keys = Object.keys(obj1);
const obj2Keys = Object.keys(obj2);
if(obj1Keys.length !== obj2Keys.length){
return false;
}
//深度比较每一个key
for(let key in obj1){
if(!isEqual(obj1[key], obj2[key])){
return false;
}
}
return true;
}
文章标题:JS基础 - 手写深度比较isEqual
文章链接:http://soscw.com/index.php/essay/48961.html