Sha256: cd2c890a9bfbecd535b30e044ea99365f26c6a023687505473a59d66b688311e
Contents?: true
Size: 991 Bytes
Versions: 27
Compression:
Stored size: 991 Bytes
Contents
var arrayPush = require('./_arrayPush'), baseDifference = require('./_baseDifference'), baseUniq = require('./_baseUniq'); /** * The base implementation of methods like `_.xor`, without support for * iteratee shorthands, that accepts an array of arrays to inspect. * * @private * @param {Array} arrays The arrays to inspect. * @param {Function} [iteratee] The iteratee invoked per element. * @param {Function} [comparator] The comparator invoked per element. * @returns {Array} Returns the new array of values. */ function baseXor(arrays, iteratee, comparator) { var index = -1, length = arrays.length; while (++index < length) { var result = result ? arrayPush( baseDifference(result, arrays[index], iteratee, comparator), baseDifference(arrays[index], result, iteratee, comparator) ) : arrays[index]; } return (result && result.length) ? baseUniq(result, iteratee, comparator) : []; } module.exports = baseXor;
Version data entries
27 entries across 5 versions & 3 rubygems