code: function map(f, arr) {
    if (NATIVE_ARRAY_MAP) {
      return arr ? NATIVE_ARRAY_MAP.call(arr, f) : arr;
    }
  
    var output = [];
  
    for (var i = 0; arr && i < arr.length; i++) {
      output.push(f(arr[i], i, arr));
    }
  
    return output;
  }
docs: Map a function over an object.
  @param {object} obj The object.
  @param {function} f The function.
  @return {object} The resulting object.