1 var arrayPush = require('../internal/arrayPush'),
2 baseDifference = require('../internal/baseDifference'),
3 baseUniq = require('../internal/baseUniq'),
4 isArrayLike = require('../internal/isArrayLike');
7 * Creates an array of unique values 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 (isArrayLike(array)) {
28 ? arrayPush(baseDifference(result, array), baseDifference(array, result))
32 return result ? baseUniq(result) : [];