34957ab138339366efa3d684ff8d0673692dfd5b
[platform/framework/web/crosswalk-tizen.git] /
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');
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