@extra-array/bsearchr
Version:
Binary searches rightmost value in sorted array.
43 lines (32 loc) • 1.34 kB
Markdown
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