00001 var baseFlatten = require('./_baseFlatten'), 00002 baseRest = require('./_baseRest'), 00003 baseUniq = require('./_baseUniq'), 00004 isArrayLikeObject = require('./isArrayLikeObject'), 00005 last = require('./last'); 00006 00028 var unionWith = baseRest(function(arrays) { 00029 var comparator = last(arrays); 00030 comparator = typeof comparator == 'function' ? comparator : undefined; 00031 return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); 00032 }); 00033 00034 module.exports = unionWith;