美文网首页
判断对象内容是否一样(不是同一个指针)

判断对象内容是否一样(不是同一个指针)

作者: 弹力盒 | 来源:发表于2021-07-05 22:28 被阅读0次

    判断对象的内容是否一样,不判断两个对象是否为同一个指针

    export function isObjectDiff(obj1, obj2) {
      var o1 = obj1 instanceof Object;
      var o2 = obj2 instanceof Object;
      // 判断是不是对象
      if (!o1 || !o2) {
        return obj1 === obj2;
      }
    
      // Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,
      if (Object.keys(obj1).length !== Object.keys(obj2).length) {
        return false;
      }
    
      for (var o in obj1) {
        var t1 = obj1[o] instanceof Object;
        var t2 = obj2[o] instanceof Object;
        if (t1 && t2) {
          return isObjectDiff(obj1[o], obj2[o]);
        } else if (obj1[o] !== obj2[o]) {
          return false;
        }
      }
      return true;
    }
    

    相关文章

      网友评论

          本文标题:判断对象内容是否一样(不是同一个指针)

          本文链接:https://www.haomeiwen.com/subject/ccqwultx.html