lq920320 / blogs

Blogs of personal.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2018/12/21--Javascript判断两个对象是否相等

lq920320 opened this issue · comments

var objA = {
  id: 1,
  name: "AAA"
};

var objB = {
  id: 1,
  name: "AAA"
};

/**
 * 判断两个对象是否相等
 */
function isEquivalent(a, b) {
  // Create arrays of property names
  var aProps = Object.getOwnPropertyNames(a);
  var bProps = Object.getOwnPropertyNames(b);
  // If number of properties is different,
  // objects are not equivalent
  if (aProps.length != bProps.length) {
    return false;
  }
  for (var i = 0; i < aProps.length; i++) {
    var propName = aProps[i];
    // If values of same property are not equal,
    // objects are not equivalent
    if (a[propName] !== b[propName]) {
      return false;
    }
  }
  // If we made it this far, objects
  // are considered equivalent
  return true;
}

// true
console.log(isEquivalent(objA, objB));