@extra-array/bsearch-any.min

Binary searches value in sorted array.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@extra-array/bsearch-any.min
1622.9.123 years ago3 years agoMinified + gzip package size for @extra-array/bsearch-any.min in KB

Readme

Binary searches value in sorted array. :running: :vhs: :package: :moon: :ledger:
Alternatives: bsearch, bsearchRight, bsearchAny, bsearchClosest.
This is part of package extra-array.

This is browserified, minified version of @extra-array/bsearch-any.
It is exported as global variable arraybsearchAny.
CDN: unpkg
, jsDelivr.

array.bsearchAny(x, v, [fc], [fm]);
// x:  an array (sorted)
// v:  search value
// fc: compare function (a, b)
// fm: map function (v, i, x)
// --> index of value | ~(index of closest value)

const array = require('extra-array');

var x = [1, 3, 3, 3, 5];
array.bsearchAny(x, 3);
// 2           ^ found

array.bsearchAny(x, 4);
// -5 (~4)           ^ not found, closest

var x = [1, -3, -3, -3, 5];
array.bsearchAny(x, 3, (a, b) => Math.abs(a) - Math.abs(b));
// 2             ^

array.bsearchAny(x, 3, null, v => Math.abs(v));
// 2             ^

references