without.js 779 B

1234567891011121314151617181920212223242526272829
  1. var baseDifference = require('./_baseDifference'),
  2. isArrayLikeObject = require('./isArrayLikeObject'),
  3. rest = require('./rest');
  4. /**
  5. * Creates an array excluding all given values using
  6. * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
  7. * for equality comparisons.
  8. *
  9. * @static
  10. * @memberOf _
  11. * @since 0.1.0
  12. * @category Array
  13. * @param {Array} array The array to inspect.
  14. * @param {...*} [values] The values to exclude.
  15. * @returns {Array} Returns the new array of filtered values.
  16. * @see _.difference, _.xor
  17. * @example
  18. *
  19. * _.without([2, 1, 2, 3], 1, 2);
  20. * // => [3]
  21. */
  22. var without = rest(function(array, values) {
  23. return isArrayLikeObject(array)
  24. ? baseDifference(array, values)
  25. : [];
  26. });
  27. module.exports = without;