solarnetwork-d3.js
function sn_util_arraysAreEqual(a1, a2) {
    var i, len;
    if (!(Array.isArray(a1) && Array.isArray(a2))) {
      return false;
    }
    if (a1.length !== a2.length) {
      return false;
    }
    for (i = 0, len = a1.length; i < len; i += 1) {
      if (Array.isArray(a1[i]) && Array.isArray(a2[i]) && arraysAreEqual(a1[i], a2[i]) !== true) {
        return false;
      } else if (a1[i] !== a2[i]) {
        return false;
      }
    }
    return true;
  }
function sn_util_arraysAreEqual(a1, a2) {
    var i, len;
    if (!(Array.isArray(a1) && Array.isArray(a2))) {
      return false;
    }
    if (a1.length !== a2.length) {
      return false;
    }
    for (i = 0, len = a1.length; i < len; i += 1) {
      if (Array.isArray(a1[i]) && Array.isArray(a2[i]) && arraysAreEqual(a1[i], a2[i]) !== true) {
        return false;
      } else if (a1[i] !== a2[i]) {
        return false;
      }
    }
    return true;
  }
function sn_util_arraysAreEqual ( a1 , a2 ) { var i , len ; if ( ! ( Array . isArray ( a1 ) && Array . isArray ( a2 ) ) ) { return false ; } if ( a1 . length !== a2 . length ) { return false ; } for ( i = 0 , len = a1 . length ; i < len ; i += 1 ) { if ( Array . isArray ( a1 [ i ] ) && Array . isArray ( a2 [ i ] ) && arraysAreEqual ( a1 [ i ] , a2 [ i ] ) !== true ) { return false ; } else if ( a1 [ i ] !== a2 [ i ] ) { return false ; } } return true ; }
Compare two arrays for equality, that is they have the same length and same values
using strict quality.

@param {Array} a1 The first array to compare.
@param {Array} a2 The second array to compare.
@return {Boolean} True if the arrays are equal.
@since 0.2.0
@preserve
Compare two arrays for equality that is they have the same length and same values using strict quality .