Как сравнить 2 предмета в капучино на равенство - PullRequest
0 голосов
/ 29 июля 2011

Как бы вы сравнили 2 предмета в капучино на равенство.Я пытался == и мне это не помогло.

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

Если объект является обычным объектом Cappuccino и реализует требуемый метод, вы можете использовать [objectA isEqual:objectB].

2 голосов
/ 29 июля 2011

Объекты имеют идентичность первого класса. Два объекта никогда не могут быть равны друг другу, используя «==» или «===».

У вас может быть функция, которая определяет «равенство» на основе итерации по свойствам, чтобы увидеть, имеют ли оба объекта одинаковые именованные свойства и эти свойства имеют одинаковое значение.

, например

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);
  }
}());
...