Files
lodash/array/difference.js
2015-05-01 01:02:48 -07:00

29 lines
879 B
JavaScript

import baseDifference from '../internal/baseDifference';
import baseFlatten from '../internal/baseFlatten';
import isArrayLike from '../internal/isArrayLike';
import restParam from '../function/restParam';
/**
* Creates an array excluding all values of the provided arrays using
* [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
* for equality comparisons.
*
* @static
* @memberOf _
* @category Array
* @param {Array} array The array to inspect.
* @param {...Array} [values] The arrays of values to exclude.
* @returns {Array} Returns the new array of filtered values.
* @example
*
* _.difference([1, 2, 3], [4, 2]);
* // => [1, 3]
*/
var difference = restParam(function(array, values) {
return isArrayLike(array)
? baseDifference(array, baseFlatten(values, false, true))
: [];
});
export default difference;