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([21, 42, 91, 91], 42);
binarySearch([21, 42, 91, 91], 42, null, null, 2);
binarySearch([21, 42, 91, 91], 91, null, null, 2, 4);
binarySearch([21, 42, 91, 91], 42, (a, b) => a===b? 0:(a<b? -1:1));
binarySearch(['G', 'KG', 'KG', 'MG'], 'g', (a, b, i) => a.toLowerCase().localeCompare(b.toLowerCase()), null, 1);
binarySearch(['G', 'KG', 'KG', 'MG'], 'KG', (a, b, i, arr) => a.localeCompare(b), null, 1, 4);
With extra-array try Array.binarySearch()
instead.
References: array-binsearch, binarysearch.