You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
610 B
22 lines
610 B
4 years ago
|
"use strict";
|
||
|
|
||
|
var toPosInt = require("../../number/to-pos-integer")
|
||
|
, eq = require("../../object/eq")
|
||
|
, value = require("../../object/valid-value")
|
||
|
, objHasOwnProperty = Object.prototype.hasOwnProperty;
|
||
|
|
||
|
module.exports = function (other) {
|
||
|
var i, length;
|
||
|
value(this);
|
||
|
value(other);
|
||
|
length = toPosInt(this.length);
|
||
|
if (length !== toPosInt(other.length)) return false;
|
||
|
for (i = 0; i < length; ++i) {
|
||
|
if (objHasOwnProperty.call(this, i) !== objHasOwnProperty.call(other, i)) {
|
||
|
return false;
|
||
|
}
|
||
|
if (!eq(this[i], other[i])) return false;
|
||
|
}
|
||
|
return true;
|
||
|
};
|