function(fn, scope) {
      var length = this.length, index = 0, result = new Array(length);
      checkFirstArgumentExists(arguments);
      while(index < length) {
        if(index in this) {
          result[index] = fn.call(scope, this[index], index, this);
        }
        index++;
      }
      return result;
    }
function(fn, scope) {
      var length = this.length, index = 0, result = new Array(length);
      checkFirstArgumentExists(arguments);
      while(index < length) {
        if(index in this) {
          result[index] = fn.call(scope, this[index], index, this);
        }
        index++;
      }
      return result;
    }
function ( fn , scope ) { var length = this . length , index = 0 , result = new Array ( length ) ; checkFirstArgumentExists ( arguments ) ; while ( index < length ) { if ( index in this ) { result [ index ] = fn . call ( scope , this [ index ] , index , this ) ; } index ++ ; } return result ; }
*
@method map(<map>, [scope])
@returns Array
@short Maps the array to another array containing the values that are the result of calling <map> on each element.
@extra [scope] is the %this% object. In addition to providing this method for browsers that don't support it natively, this enhanced method also directly accepts a string, which is a shortcut for a function that gets that property (or invokes a function) on each element.
@example

+   [1,2,3].map(function(n) {
return n * 3;
});                                  -> [3,6,9]
['one','two','three'].map(function(n) {
return n.length;
});                                  -> [3,3,5]
['one','two','three'].map('length')  -> [3,3,5]
*
* @method map ( <map > [ scope ] ) @returns Array @short Maps the array to another array containing the values that are the result of calling <map > on each element . @extra [ scope ] is the %this% object . In addition to providing this method for browsers that don t support it natively this enhanced method also directly accepts a string which is a shortcut for a function that gets that property ( or invokes a function ) on each element . @example