你如何比较卡布奇诺的两个对象是否平等。我已经尝试了==而且它似乎对我不起作用。
答案 0 :(得分:3)
如果对象是常规的Cappuccino对象并且它实现了所需的方法,则可以使用[objectA isEqual:objectB]
。
答案 1 :(得分:2)
对象具有一等身份。使用“==”或“===”,两个对象永远不能彼此相等。
您可以使用一个函数来确定基于迭代属性的“相等性”,以查看两个对象是否具有相同的命名属性,并且这些属性具有相同的值。
e.g。
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);
}
}());