function hasOneOf(object, predicate, defaultValue) {
  var result = _.isBoolean(defaultValue) ? defaultValue : !predicate;

  _.forEach(predicate, function(value, key) {
    var objectValue = _.get(object, key);

    if(_.isArray(value) && !_.isArray(objectValue)) {
      result = _.includes(value, object[key]);
    } else if(!_.isArray(value) && _.isArray(objectValue)) {
      result = _.includes(objectValue, value);
    } else {
      result = (objectValue === value);
    }

    return !result;
  });

  return result;
}
Checks if an object has one of the key-values in predicate.

@static
@memberOf _
@param {Object} object - The object to query.
@param {Object} predicate - The key-values to check for.
@param {Boolean} defaultValue - The result if there are key-values in predicate.
@returns {boolean} Returns true if the object has at least one of the predicates key-values.