对比新文件 |
| | |
| | | export default function isEqual(x, y) { |
| | | if (x === y) { |
| | | return true |
| | | } |
| | | if (!(x instanceof Object) || !(y instanceof Object)) { |
| | | return false |
| | | } |
| | | if (x.constructor !== y.constructor) { |
| | | return false |
| | | } |
| | | for (var p in x) { |
| | | if (x.hasOwnProperty(p)) { |
| | | if (!y.hasOwnProperty(p)) { |
| | | return false |
| | | } |
| | | |
| | | if (x[p] === y[p]) { |
| | | continue |
| | | } |
| | | |
| | | if (typeof (x[p]) !== "object") { |
| | | return false |
| | | } |
| | | |
| | | if (!Object.equals(x[p], y[p])) { |
| | | return false |
| | | } |
| | | } |
| | | } |
| | | for (p in y) { |
| | | if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) { |
| | | return false |
| | | } |
| | | } |
| | | return true |
| | | } |