Nodejs Array Equal equals(array)

Here you can find the source of equals(array)

Method Source Code

/*/*w w w.  j a v a2  s.  c om*/
 * Compare two arrays
 *
 * Attach the .equals method to Array's prototype to call it on any array
 * [1, 2, [3, 4]].equals([1, 2, [3, 2]]) === false;
 * [1, "2,3"].equals([1, 2, 3]) === false;
 * [1, 2, [3, 4]].equals([1, 2, [3, 4]]) === true;
 * [1, 2, 1, 2].equals([1, 2, 1, 2]) === true;
 */

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;
}

Related

  1. equals(array)
    Array.prototype.equals = function (array)
        if (!array)
            return false;
        if (this.length != array.length)
            return false;
    ...
    
  2. equals(array)
    Array.prototype.equals = function(array){
        if(!array){
            return false;
        if(this.length != array.length){
            return false;
        for (let i = 0; i < this.length; i++){
            if(this[i] != array[i]){
    ...
    
  3. equals(array)
    if(Array.prototype.equals)
        console.warn("Overriding existing Array.prototype.equals. Possible causes: New API defines the method, there's a framework conflict or you've got double inclusions in your code.");
    Array.prototype.equals = function (array) {
        if (!array)
            return false;
        if (this.length != array.length)
            return false;
        for (var i = 0, l=this.length; i < l; i++) {
            if (this[i] instanceof Array && array[i] instanceof Array) {
    ...
    
  4. equals(array)
    function toRadians(degrees) { return degrees * (Math.PI / 180);}
    function toDegrees(radians) { return radians * (180 / Math.PI);}
    Array.prototype.equals = function (array) {
        if (!array) { return false; }
        else if (this.length != array.length) { return false; }
        for (var i = 0, l = this.length; i < l; i++) {
            if (this[i] instanceof Array && array[i] instanceof Array) {
                if (!this[i].equals(array[i])) { return false; }
            else if (this[i] != array[i]) { return false; }
        return true;
    };
    function unitVector(vector) {
        return vector.map(function(v) { return parseFloat(v)/norm(vector); });
    function norm(vector) {
        return Math.sqrt(vector.map(
            function(v) { return v*v; }).reduce(
                function(a, b) { return a + b; }));
    function angleOf(vector) { return Math.atan(vector[1]/vector[0]); }
    
  5. equals(array)
    Array.prototype.equals = function(array) { 
        if (!array)
            return false;
        if (this.length !== array.length)
            return false;
        for (var i = 0, l = this.length; i < l; i++) {
            if (this[i] instanceof Array && array[i] instanceof Array) {
                if (!this[i].equals(array[i]))
                    return false;
    ...
    
  6. equals(array, strict)
    Array.prototype.equals = function (array, strict) {
        if (!array)
            return false;
        if (arguments.length == 1)
            strict = true;
        if (this.length != array.length)
            return false;
        for (var i = 0; i < this.length; i++) {
            if (this[i] instanceof Array && array[i] instanceof Array) {
    ...
    
  7. equals(array, strict)
    function gridToCanvas(gridX, gridY) {
      var canvasX = gridX * 16;
      var canvasY = gridY * 16; 
      return [canvasX, canvasY];
    function isInt(num) {
      return !(num % 1 != 0);
    Array.prototype.equals = function (array, strict) {
    ...
    
  8. equals(array, strict)
    Array.prototype.equals = function(array, strict){
      if(this.length!=array.length)
        return false;
      if(arguments.length == 1)
        strict = true;
      if(!strict){
        this.sort((x,y) => x-y);
        array.sort((x,y) => x-y);
      for(var i = 0; i < this.length; i++){
        if(this[i]!=array[i]){
          return false;
      return true;
    
  9. equals(b)
    function arraysEqual(a,b) { return !!a && !!b && !(a<b || b<a); }
    Array.prototype.equals = function(b) {
      return arraysEqual(this, b);
    Array.prototype.isPalindromic = function() { return this.concat().equals(this.reverse()); }
    function getHighestPalindrome () {
      var max = 1000;
      var min = 100;
      var palindrome = 0;
    ...