function without(array) {
    var result = [];
    if (!array) {
      return result;
    }
    var index = -1,
        length = array.length,
        contains = cachedContains(arguments, 1, 20);

    while (++index < length) {
      if (!contains(array[index])) {
        result.push(array[index]);
      }
    }
    return result;
  }
Creates a new array with all occurrences of the passed values removed using
strict equality for comparisons, i.e. `===`.

@static
@memberOf _
@category Arrays
@param {Array} array The array to filter.
@param {Mixed} [value1, value2, ...] Values to remove.
@returns {Array} Returns a new filtered array.
@example

_.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
// => [2, 3, 4]