ca57524d5d34a415bd967eef45093175e2494e39
[platform/framework/web/crosswalk-tizen.git] /
1 var unique = require('./unique');
2 var filter = require('./filter');
3 var some = require('./some');
4 var contains = require('./contains');
5 var 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