如何比较卡布奇诺中的两个物体是否相等



你如何比较卡布奇诺咖啡中的两个物体是否相等?我试过==,但似乎不适合我。

如果对象是一个普通的Cappuccino对象,并且它实现了所需的方法,您可以使用[objectA isEqual:objectB]

对象具有第一类身份。两个对象永远不能使用"=="或"==="来表示彼此相等。

你可以用一个函数来确定"相等性",基于迭代属性,看看两个对象是否有相同的命名属性,这些属性是否有相同的值。

var compareObj = (function () {
  function doCompare(a, b) {
    for (var p in a) {
      if (a.hasOwnProperty(p) && !b.hasOwnProperty(p)) {
        return false;
      }
      if (a[p] != b[p]) {
        return false;
      }
    }
    return true;
  }
  return function(a, b) {
    return doCompare(a, b) && doCompare(b, a);
  }
}());

最新更新