00001 var baseDifference = require('./_baseDifference'), 00002 baseFlatten = require('./_baseFlatten'), 00003 baseRest = require('./_baseRest'), 00004 isArrayLikeObject = require('./isArrayLikeObject'), 00005 last = require('./last'); 00006 00030 var differenceWith = baseRest(function(array, values) { 00031 var comparator = last(values); 00032 if (isArrayLikeObject(comparator)) { 00033 comparator = undefined; 00034 } 00035 return isArrayLikeObject(array) 00036 ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) 00037 : []; 00038 }); 00039 00040 module.exports = differenceWith;