artdaq_node_server  v1_00_09
 All Classes Namespaces Files Variables Pages
_baseXor.js
1 var baseDifference = require('./_baseDifference'),
2  baseFlatten = require('./_baseFlatten'),
3  baseUniq = require('./_baseUniq');
4 
15 function 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 
36 module.exports = baseXor;