欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS判断两个对象是否相等

程序员文章站 2022-04-09 20:08:11
...
// Object.keys()是ES5中方法,用来获取对象自身可枚举的属性键;
// 原型中属性和设置了不可枚举的属性,都获取不到
// 若有枚举设置请使用Object.getOwnPropertyNames()
isObjectValueEqual(aObj, bObj) {
    const aProps = Object.keys(aObj)
    const bProps = Object.keys(bObj)
    if (aProps.length != bProps.length) {
        return false
    }
    for(const i of bProps){
      const propA = aObj[i]
      const propB = bObj[i]
      if ((typeof (propA) === 'object')) {
          if (this.isObjectValueEqual(propA, propB)) {
              // return true     这里不能return,后面的对象还没判断
            } else {
              return false
            }
        } else if ( propA != propB) {
        return false
      }
    }
    return true
},
相关标签: javascript