UNPKG

@extra-array/bsearch-right

Version:

Binary searches rightmost value in sorted array.

53 lines (42 loc) 2.07 kB
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