mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-13 14:46:05 +00:00
24 lines
612 B
JavaScript
24 lines
612 B
JavaScript
function binarySearchUpperBound(array, value) {
|
|
if (value < array[0] || array[array.length - 1] < value) {
|
|
return -1;
|
|
}
|
|
|
|
var left = 0;
|
|
var right = array.length - 1;
|
|
var index = -1;
|
|
while (left <= right) {
|
|
var middle = Math.floor((left + right) / 2);
|
|
if (array[middle] > value) {
|
|
right = middle - 1;
|
|
} else if (array[middle] < value) {
|
|
left = middle + 1;
|
|
} else {
|
|
index = middle;
|
|
left = middle + 1;
|
|
}
|
|
}
|
|
|
|
return index !== -1 ? index : right;
|
|
}
|
|
|
|
module.exports = binarySearchUpperBound;
|