code: function mapValues (obj, mapFn) {
    return Object.keys(obj).reduce(function (result, key) {
      result[key] = mapFn(obj[key], key, obj)
      return result
    }, {})
  }
docs: Apply the mapFn to all values of the object and return a new object with the applied values
  @param obj the input object
  @param {function(any, string, object): any} mapFn the map function (receives the value, the key and the whole object as parameter)
  @returns {object} an object with the same keys as the input object