7df89d9c949a48b711b0341b544d4034a215f2b0
[platform/framework/web/crosswalk-tizen.git] /
1 define(['./unique', './filter', './contains'], function (unique, filter, contains) {
2
3
4     /**
5      * Exclusive OR. Returns items that are present in a single array.
6      * - like ptyhon's `symmetric_difference`
7      */
8     function xor(arr1, arr2) {
9         arr1 = unique(arr1);
10         arr2 = unique(arr2);
11
12         var a1 = filter(arr1, function(item){
13                 return !contains(arr2, item);
14             }),
15             a2 = filter(arr2, function(item){
16                 return !contains(arr1, item);
17             });
18
19         return a1.concat(a2);
20     }
21
22     return xor;
23
24 });