nstatistics
Version:
Solve equations using numerical methods, linear álgebra and solver of linear equation system
33 lines (31 loc) • 1.03 kB
JavaScript
module.exports = function ( ) {
// attach the .equals method to Array's prototype to call it on any array
Array.prototype.equals = function ( array ) {
// if the other array is a falsy value, return
if ( !array ) {
return false;
}
// compare lengths - can save a lot of time
if ( this.length !== array.length ) {
return false;
}
for ( var i = 0, l = this.length; i < l; i++ ) {
// Check if we have nested arrays
if ( this[ i ] instanceof Array && array[ i ] instanceof Array ) {
// recurse into the nested arrays
if ( !this[ i ].equals( array[ i ] ) ) {
return false;
}
} else if ( this[ i ] !== array[ i ] ) {
// Warning - two different object instances will never be equal: {x:20} != {x:20}
return false;
}
}
return true;
}
// Hide method from for-in loops
Object.defineProperty( Array.prototype, 'equals', {
enumerable: false
} );
}