Nodejs Array Equal equals(targetArray)

Here you can find the source of equals(targetArray)

Method Source Code

// attach the .equals method to Array's prototype to call it on any array
Array.prototype.equals = function (targetArray) {
    // if the other array is a falsy value, return
    if (!targetArray)
        return false;

    // compare lengths - can save a lot of time 
    if (this.length != targetArray.length)
        return false;

    for (var i = 0, l=this.length; i < l; i++) {
        // Check if we have nested arrays
        if (this[i] instanceof Array && targetArray[i] instanceof Array) {
            // recurse into the nested arrays
            if (!this[i].equals(targetArray[i]))
                return false;       
        }           //from  w w w .  ja  v a2 s .  c  om
        else if (this[i] != targetArray[i]) {
            // Warning - two different object instances will never be equal: {x:20} != {x:20}
            return false;   
        }           
    }       
    return true;
}   //taken from http://stackoverflow.com/questions/7837456/comparing-two-arrays-in-javascript

Related

  1. equals(other)
    Array.prototype.equals = function(other) {
        if (!other)
            return false;
        if (other == this)
            return true;
        if (this.length != other.length)
            return false;
        for (var i = 0, l=this.length; i < l; i++) {
            if (this[i] != other[i]) {
    ...
    
  2. equals(other)
    function is_self_describing(n) {
        var digits = Number(n).toString().split("").map(function(elem) {return Number(elem)});
        var len = digits.length;
        var count = digits.map(function(x){return 0});
        digits.forEach(function(digit, idx, ary) {
            if (digit >= count.length)
                return false
            count[digit] ++;
        });
    ...
    
  3. equals(other, callback = (x, y) => (x === y))
    Array.prototype.equals = function (other, callback = (x, y) => (x === y)) {
      if (Object.getPrototypeOf(this) !== Object.getPrototypeOf(other)) {
        return false;
      if (this.length === undefined || this.length !== other.length) {
        return false;
      return Array.prototype.every.call(this, (x, i) => callback(x, other[i]));
    };
    ...
    
  4. equals(otherArray)
    Array.prototype.equals = function(otherArray) {
      if (this.length !== otherArray.length) {
        return false;
      for (var i = 0; i < this.length; i++) {
        if (this[i] !== otherArray[i]) {
          return false;
        return true;
    ...
    
  5. equals(target)
    var fs = require("fs");
    Array.prototype.equals = function(target) {
      if(this.length !== target.length) return false;
      for (var i=0; i<this.length; i++) {
        if(this[i] !== target[i]) return false;
      return true;
    module.exports.loadSheet = function(type2, name) {
    ...
    
  6. equals(that)
    "use strict";
    Array.prototype.equals = function(that) {
      if(!Array.isArray(that)) {
        return false;
      if(this.length !== that.length) {
        return false;
      for(var i = 0; i < this.length; i++) {
    ...
    
  7. equalsTo(arr)
    Array.prototype.equalsTo = function(arr) {
        if (this.length != arr.length)
            return false;
        for (var i = 0; i < this.length; ++i)
            if (arr[i] != this[i])
                return false;
        return true;