0
点赞
收藏
分享

微信扫一扫

手写lodash.isEqual() 判断两个对象是否相等

互联网码农 2022-03-11 阅读 66
git前端css
 function isEqual(obj1, obj2) {
     // 先判断这俩是不是对象或者数组类型的
     if (typeof (obj1) !== "object" && obj1 !== null && typeof (obj2) !== "object" && obj2 !== null) {
         return obj1 === obj2
     }
     // 如果特意传的就是两个指向同一地址的对象
     if (obj1 === obj2) {
         return true
     }
     // 如果key的个数都不一样那么肯定不能相等 return false
     let obj1key = Object.keys(obj1)
     let obj2key = Object.keys(obj2)
     if (obj1key.length !== obj2key.length) {
         return false
     }

     for (key in obj1) {
         if (!isEqual(obj1[key], obj2[key])) {
             return false
         }
     }

     return true
 }
举报

相关推荐

0 条评论