You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
392 B
21 lines
392 B
5 years ago
|
import ascending from "./ascending";
|
||
|
|
||
|
export default function(values, compare) {
|
||
|
if (!(n = values.length)) return;
|
||
|
var n,
|
||
|
i = 0,
|
||
|
j = 0,
|
||
|
xi,
|
||
|
xj = values[j];
|
||
|
|
||
|
if (compare == null) compare = ascending;
|
||
|
|
||
|
while (++i < n) {
|
||
|
if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {
|
||
|
xj = xi, j = i;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (compare(xj, xj) === 0) return j;
|
||
|
}
|