UNPKG

651 BJavaScriptView Raw
1import { isNil } from '@antv/util';
2/**
3 * 二分右侧查找
4 * https://github.com/d3/d3-array/blob/master/src/bisector.js
5 */
6export default function (getter) {
7 /**
8 * x: 目标值
9 * lo: 起始位置
10 * hi: 结束位置
11 */
12 return function (a, x, _lo, _hi) {
13 var lo = isNil(_lo) ? 0 : _lo;
14 var hi = isNil(_hi) ? a.length : _hi;
15 while (lo < hi) {
16 var mid = (lo + hi) >>> 1;
17 if (getter(a[mid]) > x) {
18 hi = mid;
19 }
20 else {
21 lo = mid + 1;
22 }
23 }
24 return lo;
25 };
26}
27//# sourceMappingURL=bisector.js.map
\No newline at end of file