motion
Version:
motion - moving development forward
25 lines (22 loc) • 674 B
JavaScript
var arrayFilter = require('./internal/arrayFilter'),
baseXor = require('./internal/baseXor'),
isArrayLikeObject = require('./isArrayLikeObject'),
rest = require('./rest');
/**
* Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
* of the provided arrays.
*
* @static
* @memberOf _
* @category Array
* @param {...Array} [arrays] The arrays to inspect.
* @returns {Array} Returns the new array of values.
* @example
*
* _.xor([2, 1], [4, 2]);
* // => [1, 4]
*/
var xor = rest(function(arrays) {
return baseXor(arrayFilter(arrays, isArrayLikeObject));
});
module.exports = xor;