code: function mapProperties(obj, func) {
      if (_.isArray(obj)) {
          throw new Error(`Input must be an object: ${obj}`);
      }
      else {
          const resultObj = Object.create(Object.prototype);
          for (const key in obj) {
              if (obj.hasOwnProperty(key)) {
                  resultObj[key] = func(obj[key], key);
              }
          }
          return resultObj;
      }
  }
docs: Iterates over all properties in an object and executes
  func on each.
  
  Returns a new object with the same keys as the input
  object and the values as result of the func.
  
  @param obj an object for which a func should be executed on each property
  @param func the function to be executed on each property of the passed object