diff --git a/src/Angular.js b/src/Angular.js index 22fb005e0663..ce5e09b4ec61 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -670,18 +670,26 @@ function equals(o1, o2) { if (o1 === o2) return true; if (o1 === null || o2 === null) return false; if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN + var t1 = typeof o1, t2 = typeof o2, length, key, keySet; if (t1 == t2) { if (t1 == 'object') { - if (isArray(o1)) { + + var a1 = isArray(o1), a2 = isArray(o2); + if (a1 != a2) { + return false + + } else if (a1) { if ((length = o1.length) == o2.length) { for(key=0; key