basant307/AI_Governance_Project
045
1import baseDifference from './_baseDifference.js';2import baseFlatten from './_baseFlatten.js';3import baseUniq from './_baseUniq.js';4 5/**6 * The base implementation of methods like `_.xor`, without support for7 * iteratee shorthands, that accepts an array of arrays to inspect.8 *9 * @private10 * @param {Array} arrays The arrays to inspect.11 * @param {Function} [iteratee] The iteratee invoked per element.12 * @param {Function} [comparator] The comparator invoked per element.13 * @returns {Array} Returns the new array of values.14 */15function baseXor(arrays, iteratee, comparator) {16 var length = arrays.length;17 if (length < 2) {18 return length ? baseUniq(arrays[0]) : [];19 }20 var index = -1,21 result = Array(length);22 23 while (++index < length) {24 var array = arrays[index],25 othIndex = -1;26 27 while (++othIndex < length) {28 if (othIndex != index) {29 result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);30 }31 }32 }33 return baseUniq(baseFlatten(result, 1), iteratee, comparator);34}35 36export default baseXor;37 