r-d3
Version:
D3 data, React rendering.
20 lines (15 loc) • 687 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = bisect;
var _d = require('d3');
var d3 = _interopRequireWildcard(_d);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function bisect(data, position, accessor) {
var bisect = d3.bisector(accessor).left;
var i = bisect(data, position, 1);
var d0 = data[i - 1];
var d1 = data[i];
return d1 && position - accessor(d0) > accessor(d1) - position ? d1 : d0;
}