1a20430341061d11864de9118ace2056ffc9de4d
[platform/framework/web/crosswalk-tizen.git] /
1 var is = require('../lang/is');
2 var isArray = require('../lang/isArray');
3 var every = require('./every');
4
5     /**
6      * Compares if both arrays have the same elements
7      */
8     function equals(a, b, callback){
9         callback = callback || is;
10
11         if (!isArray(a) || !isArray(b)) {
12             return callback(a, b);
13         }
14
15         if (a.length !== b.length) {
16             return false;
17         }
18
19         return every(a, makeCompare(callback), b);
20     }
21
22     function makeCompare(callback) {
23         return function(value, i) {
24             return i in this && callback(value, this[i]);
25         };
26     }
27
28     module.exports = equals;
29
30