@extra-array/bsearchc.min

Binary searches closest value in sorted array.

Usage no npm install needed!

<script type="module">
  import extraArrayBsearchcMin from 'https://cdn.skypack.dev/@extra-array/bsearchc.min';
</script>

README

Binary searches closest value in sorted array.

Alternatives: default, closest, left, right.
This is part of package extra-array.

This is browserified, minified version of @extra-array/bsearchc.
It is exported as global variable array_bsearchc.
CDN: unpkg, jsDelivr.

array.bsearchc(x, v, [fn]);
// x:  an array (sorted)
// v:  value to find
// fn: compare function (a, b)
// --> index of closest value
const array = require('extra-array');

array.bsearchc([1, 3, 5, 7], 5);
// 2                  ^ found

array.bsearchc([1, 3, 5, 7], 4);
// 2                  ^ closest

array.bsearchc([4, 4, 4, 4], 4);
// 2                  ^ not left/right most

array.bsearchc(['b', 'GB', 'KB', 'MB'], 'kB', (a, b) => {
  return a.toLowerCase().localeCompare(b.toLowerCase());
});
// 2                        ^ case insensitive

references