Nodejs Array Equal equals(target)

Here you can find the source of equals(target)

Method Source Code

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;
   }// ww w .j av  a2  s  . co  m
   return true;
}

module.exports.loadSheet = function(type2, name) {
   var sheet = fs.readFileSync('test/program.'+name+'.type2').toString();
   var bytes = type2.toBytes(sheet);
   var sheetcode = sheet.substring(0,sheet.indexOf("\n")).replace("//",'').trim().split(":");
   var functor = sheetcode[0];
   var verification = sheetcode[1].split(",").map(v => parseInt(v));

   if (!bytes.equals(verification)) {
      fail("charstring for "+functor+" did not match its verification print.");
   }

  type2.bindSubroutine(functor, bytes);

   return {
      sheet: sheet,
      name: functor,
      bytes: bytes
   }
}

function fail(reason) {
   console.error("ERROR: " + reason);
   process.exit(1);
};

module.exports.fail = fail;

Related

  1. equals(element)
    Array.prototype.equals = function (element) {
      if (this === element) return true;
      if (element == null || this == null) return false;
      if (element.length != this.length) return false;
      for (var i = 0; i < element.length; ++i) {
        if (element[i] !== this[i]) return false;
      return true;
    
  2. 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]) {
    ...
    
  3. 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] ++;
        });
    ...
    
  4. 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]));
    };
    ...
    
  5. 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;
    ...
    
  6. equals(targetArray)
    Array.prototype.equals = function (targetArray) {
        if (!targetArray)
            return false;
        if (this.length != targetArray.length)
            return false;
        for (var i = 0, l=this.length; i < l; i++) {
            if (this[i] instanceof Array && targetArray[i] instanceof Array) {
                if (!this[i].equals(targetArray[i]))
                    return false;       
    ...
    
  7. 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++) {
    ...
    
  8. 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;