UNPKG

608 BJavaScriptView Raw
1var unique = require('./unique');
2var filter = require('./filter');
3var some = require('./some');
4var contains = require('./contains');
5var slice = require('./slice');
6
7
8 /**
9 * Return a new Array with elements that aren't present in the other Arrays.
10 */
11 function difference(arr) {
12 var arrs = slice(arguments, 1),
13 result = filter(unique(arr), function(needle){
14 return !some(arrs, function(haystack){
15 return contains(haystack, needle);
16 });
17 });
18 return result;
19 }
20
21 module.exports = difference;
22
23