18 lines
423 B
JavaScript
18 lines
423 B
JavaScript
var keyList = Object.keys;
|
|
|
|
exports.equal = function equal (a, b) {
|
|
if (a === b) return true;
|
|
if (!(a instanceof Object) || !(b instanceof Object)) return false;
|
|
|
|
var keys = keyList(a);
|
|
var length = keys.length;
|
|
|
|
for (var i = 0; i < length; i++)
|
|
if (!(keys[i] in b)) return false;
|
|
|
|
for (var i = 0; i < length; i++)
|
|
if (a[keys[i]] !== b[keys[i]]) return false;
|
|
|
|
return length === keyList(b).length;
|
|
};
|