1 var unique = require('./unique');
2 var filter = require('./filter');
3 var every = require('./every');
4 var contains = require('./contains');
5 var slice = require('./slice');
9 * Return a new Array with elements common to all Arrays.
10 * - based on underscore.js implementation
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);
22 module.exports = intersection;