UNPKG

642 BJavaScriptView Raw
1var unique = require('./unique');
2var filter = require('./filter');
3var every = require('./every');
4var contains = require('./contains');
5var slice = require('./slice');
6
7
8 /**
9 * Return a new Array with elements common to all Arrays.
10 * - based on underscore.js implementation
11 */
12 function intersection(arr) {
13 var arrs = slice(arguments, 1),
14 result = filter(unique(arr), function(needle){
15 return every(arrs, function(haystack){
16 return contains(haystack, needle);
17 });
18 });
19 return result;
20 }
21
22 module.exports = intersection;
23
24