@extra-array/bsearch-right
Version:
Binary searches rightmost value in sorted array.
53 lines (42 loc) • 2.07 kB
Markdown
Binary searches rightmost value in [sorted] array. [:running:] [:vhs:] [:package:] [:moon:] [:ledger:]
> Alternatives: [bsearch], [bsearchRight], [bsearchAny], [bsearchClosest].<br>
> This is part of package [extra-array].
[extra-array]: https://www.npmjs.com/package/extra-array
```javascript
array.bsearchRight(x, v, [fc], [fm]);
// x: an array (sorted)
// v: search value
// fc: compare function (a, b)
// fm: map function (v, i, x)
// --> last index of value | ~(index of closest value)
```
```javascript
const array = require('extra-array');
var x = [1, 3, 3, 3, 5];
array.bsearchRight(x, 3);
// 3 ^ found rightmost
array.bsearchRight(x, 4);
// -5 (~4) ^ not found, closest
var x = [1, -3, -3, -3, 5];
array.bsearchRight(x, 3, (a, b) => Math.abs(a) - Math.abs(b));
// 3 ^
array.bsearchRight(x, 3, null, v => Math.abs(v));
// 3 ^
```
### references
- [_.sortedLastIndex: lodash](https://lodash.com/docs/4.17.15#sortedLastIndex)
- [_.sortedLastIndexBy: lodash](https://lodash.com/docs/4.17.15#sortedLastIndexBy)
- [_.sortedLastIndexOf: lodash](https://lodash.com/docs/4.17.15#sortedLastIndexOf)
- [array-binsearch: @krisselden](https://www.npmjs.com/package/array-binsearch)
- [binarysearch: @soldair](https://www.npmjs.com/package/binarysearch)
- [binary-search: @darkskyapp](https://www.npmjs.com/package/binary-search)
[sorted]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
[:running:]: https://npm.runkit.com/@extra-array/bsearch-right
[:package:]: https://www.npmjs.com/package/@extra-array/bsearch-right
[:moon:]: https://www.npmjs.com/package/@extra-array/bsearch-right.min
[:ledger:]: https://unpkg.com/@extra-array/bsearch-right/
[bsearch]: https://github.com/nodef/extra-array/wiki/bsearch
[bsearchRight]: https://github.com/nodef/extra-array/wiki/bsearchRight
[bsearchAny]: https://github.com/nodef/extra-array/wiki/bsearchAny
[bsearchClosest]: https://github.com/nodef/extra-array/wiki/bsearchClosest
[:vhs:]: https://asciinema.org/a/332023