@extra-array/binary-search
v1.1.7
Published
Get index of value in sorted array.
Maintainers
Readme
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);
// 2With extra-array try
Array.binarySearch()instead.
References: array-binsearch, binarysearch.

