@extra-array/binary-search

1.1.7 • Public • Published

Get index of value in sorted array.

Use binarySearch.closest, if index of closest value is needed.
Use binarySearch.first, if index of first value is needed.
Use binarySearch.last, if index of last value is needed.

const binarySearch = require('array-binarysearch');
// binarySearch(<array>, <value>, [compare function], [this], [begin=0], [end])
// -> <index of value> | ~<index of closest value>

binarySearch([21, 42, 91, 91], 42);
// 1
binarySearch([21, 42, 91, 91], 42, null, null, 2);
// -3 (-ve => not found, closest: ~(-3) = 2)
binarySearch([21, 42, 91, 91], 91, null, null, 2, 4);
// 3

binarySearch([21, 42, 91, 91], 42, (a, b) => a===b? 0:(a<b? -1:1));
// 1
binarySearch(['G', 'KG', 'KG', 'MG'], 'g', (a, b, i) => a.toLowerCase().localeCompare(b.toLowerCase()), null, 1);
// -2 (-ve => not found, closest: ~(-2) = 1)
binarySearch(['G', 'KG', 'KG', 'MG'], 'KG', (a, b, i, arr) => a.localeCompare(b), null, 1, 4);
// 2

With extra-array try Array.binarySearch() instead.


extra-array

References: array-binsearch, binarysearch.

Package Sidebar

Install

npm i @extra-array/binary-search

Weekly Downloads

2

Version

1.1.7

License

MIT

Unpacked Size

4.06 kB

Total Files

4

Last publish

Collaborators

  • wolfram77