1 var baseDifference = require('../internal/baseDifference'),
2 baseUniq = require('../internal/baseUniq'),
3 isArguments = require('../lang/isArguments'),
4 isArray = require('../lang/isArray');
7 * Creates an array that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
8 * of the provided arrays.
13 * @param {...Array} [arrays] The arrays to inspect.
14 * @returns {Array} Returns the new array of values.
17 * _.xor([1, 2], [4, 2]);
22 length = arguments.length;
24 while (++index < length) {
25 var array = arguments[index];
26 if (isArray(array) || isArguments(array)) {
28 ? baseDifference(result, array).concat(baseDifference(array, result))
32 return result ? baseUniq(result) : [];