UNPKG

869 BJavaScriptView Raw
1var 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