UNPKG

@extra-array/bsearchr

Version:

Binary searches rightmost value in sorted array.

43 lines (32 loc) 1.34 kB
Binary searches rightmost value in [sorted] array. > Alternatives: [default], [closest], [left], [right].<br> > This is part of package [extra-array]. [extra-array]: https://www.npmjs.com/package/extra-array ```javascript array.bsearchr(x, v, [fn]); // x: an array (sorted) // v: value to find // fn: compare function (a, b) // --> last index of value | ~(index of closest value) ``` ```javascript const array = require('extra-array'); array.bsearchr([1, 3, 5, 7], 5); // 2 ^ found array.bsearchr([1, 3, 5, 7], 4); // -3 (~2) ^ not found, closest array.bsearchr([4, 4, 4, 4], 4); // 3 ^ rightmost array.bsearchr(['b', 'GB', 'KB', 'MB'], 'kB', (a, b) => { return a.toLowerCase().localeCompare(b.toLowerCase()); }); // 2 ^ case insensitive ``` ### references - [array-binsearch: @krisselden](https://www.npmjs.com/package/array-binsearch) - [binarysearch: @soldair](https://www.npmjs.com/package/binarysearch) [sorted]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort [default]: https://github.com/nodef/extra-array/wiki/bsearch [closest]: https://github.com/nodef/extra-array/wiki/bsearchc [left]: https://github.com/nodef/extra-array/wiki/bsearchl [right]: https://github.com/nodef/extra-array/wiki/bsearchr