What does this program print?

from Sorting and searching
Node 24 beginner 2 min

What does this program print?

JavaScript
function lowerBound(values, target) {
  let low = 0;
  let high = values.length;

  while (low < high) {
    const middle = low + Math.floor((high - low) / 2);
    if (values[middle] < target) low = middle + 1;
    else high = middle;
  }

  return low;
}

const values = [10, 10, 20, 40];
console.log([10, 25, 50].map((target) => lowerBound(values, target)));
Open in playground
Report an error