1 | function id(v) {
|
2 | return v;
|
3 | }
|
4 | function cmp(a, b) {
|
5 | return a < b ? -1 : (a > b ? 1 : 0);
|
6 | }
|
7 | function range(x, fc = null, fm = null) {
|
8 | var fc = fc || cmp, fm = fm || id;
|
9 | var mi = -1, mu, mv;
|
10 | var ni = -1, nu, nv;
|
11 | var i = -1;
|
12 | for (var u of x) {
|
13 | var v = fm(u, ++i, x);
|
14 | if (i === 0 || fc(v, mv) < 0) {
|
15 | mi = i;
|
16 | mu = u;
|
17 | mv = v;
|
18 | }
|
19 | if (i === 0 || fc(v, nv) > 0) {
|
20 | ni = i;
|
21 | nu = u;
|
22 | nv = v;
|
23 | }
|
24 | }
|
25 | return [[mi, mu], [ni, nu]];
|
26 | }
|
27 | export { range as default };
|