code: function mapArray(f, a, HASH_ID) {
  
    var b =  [];
    for (var i = 0; i < a.length; i++) {
      b[i] = {};
      // b[i].hash = f(typeof a[i] === "string"? a[i]: JSON.stringify(a[i]));
      b[i].hash = f(a[i], HASH_ID);
      b[i].index = i;
      b[i].value = a[i];
    }
    return b;
  }
docs: map the array. Faster than Array.prototype.map
  
  @param  {function} f function
  @param  {Array} a array-like
  @return {Array}   new Array mapped by f