@extra-array/bsearch-closest

Binary searches closest value in sorted array.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@extra-array/bsearch-closest
1402.9.122 years ago3 years agoMinified + gzip package size for @extra-array/bsearch-closest in KB

Readme

Binary searches closest value in sorted array. :running: :vhs: :package: :moon: :ledger:
Alternatives: bsearch, bsearchRight, bsearchAny, bsearchClosest.
This is part of package extra-array.

array.bsearchClosest(x, v, [fc], [fm]);
// x:  an array (sorted)
// v:  search value
// fc: compare function (a, b)
// fm: map function (v, i, x)
// --> index of closest value

const array = require('extra-array');

var x = [1, 3, 3, 3, 5];
array.bsearchClosest(x, 3);
// 2           ^ found

array.bsearchClosest(x, 4);
// 4                  ^ not found, closest

var x = [1, -3, -3, -3, 5];
array.bsearchClosest(x, 3, (a, b) => Math.abs(a) - Math.abs(b));
// 2             ^

array.bsearchClosest(x, 3, null, v => Math.abs(v));
// 2             ^

references