d0628f0a9a2e515a5def31edb55ba1dbc4169ae7
[platform/framework/web/crosswalk-tizen.git] /
1 define(['../function/makeIterator_'], function (makeIterator) {
2
3     /**
4      * Return maximum value inside array
5      */
6     function max(arr, iterator, thisObj){
7         if (arr == null || !arr.length) {
8             return Infinity;
9         } else if (arr.length && !iterator) {
10             return Math.max.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     return max;
33
34 });