1 | var makeIterator = require('../function/makeIterator_');
|
2 |
|
3 | |
4 |
|
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 |
|