ed6cc6a14ca6e1bb02dae5fd22051ea306872f98
[platform/framework/web/crosswalk-tizen.git] /
1 var makeIterator = require('../function/makeIterator_');
2
3     /**
4      * Return minimum value inside array
5      */
6     function min(arr, iterator, thisObj){
7         if (arr == null || !arr.length) {
8             return -Infinity;
9         } else if (arr.length && !iterator) {
10             return Math.min.apply(Math, arr);
11         } else {
12             iterator = makeIterator(iterator, thisObj);
13             var result,
14                 compare = Infinity,
15                 value,
16                 temp;
17
18             var i = -1, len = arr.length;
19             while (++i < len) {
20                 value = arr[i];
21                 temp = iterator(value, i, arr);
22                 if (temp < compare) {
23                     compare = temp;
24                     result = value;
25                 }
26             }
27
28             return result;
29         }
30     }
31
32     module.exports = min;
33
34