scan.js 392 B

1234567891011121314151617181920
  1. import ascending from "./ascending";
  2. export default function(values, compare) {
  3. if (!(n = values.length)) return;
  4. var n,
  5. i = 0,
  6. j = 0,
  7. xi,
  8. xj = values[j];
  9. if (compare == null) compare = ascending;
  10. while (++i < n) {
  11. if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {
  12. xj = xi, j = i;
  13. }
  14. }
  15. if (compare(xj, xj) === 0) return j;
  16. }