Built on binary-search. Returns all indexes of items that match the comparator.
const haystack = [ 1, 3, 5, 6, 6, 6, 9, 11, 14 ]
const needle = 6
const comparator = (a, b) => a - b
binarySearchRange(haystack, needle, comparator) // => [ 3, 4, 5 ]
comparator
should be a function that returns 0 for matches, just like your sort function.