Binary searches closest value in sorted array.
npm install @extra-array/bsearch-closest.minBinary searches closest value in [sorted] array. [:running:] [:vhs:] [:package:] [:moon:] [:ledger:]
> Alternatives: [bsearch], [bsearchRight], [bsearchAny], [bsearchClosest].
> This is part of package [extra-array].
[extra-array]: https://www.npmjs.com/package/extra-array
> This is browserified, minified version of [@extra-array/bsearch-closest].
> It is exported as global variable array_bsearchClosest.
> CDN: [unpkg], [jsDelivr].
[@extra-array/bsearch-closest]: https://www.npmjs.com/package/@extra-array/bsearch-closest
[unpkg]: https://unpkg.com/@extra-array/bsearch-closest.min
[jsDelivr]: https://cdn.jsdelivr.net/npm/@extra-array/bsearch-closest.min
``javascript`
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
`javascript
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 ^
``
- array-binsearch: @krisselden
- binarysearch: @soldair
- binary-search: @darkskyapp
[sorted]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
[:running:]: https://npm.runkit.com/@extra-array/bsearch-closest
[:package:]: https://www.npmjs.com/package/@extra-array/bsearch-closest
[:moon:]: https://www.npmjs.com/package/@extra-array/bsearch-closest.min
[:ledger:]: https://unpkg.com/@extra-array/bsearch-closest/
[bsearch]: https://github.com/nodef/extra-array/wiki/bsearch
[bsearchRight]: https://github.com/nodef/extra-array/wiki/bsearchRight
[bsearchAny]: https://github.com/nodef/extra-array/wiki/bsearchAny
[bsearchClosest]: https://github.com/nodef/extra-array/wiki/bsearchClosest
[:vhs:]: https://asciinema.org/a/332022