This solution is generated by ChatGPT, correctness is not guaranteed.

AI solution for JavaScript Coding Question on BFE.dev
37. implement Binary Search (unique)

function binarySearch(arr, num) {
  let min = 0;
  let max = arr.length - 1;

  while (min <= max) {
    let mid = Math.floor((min + max) / 2);
    if (arr[mid] === num) {
      return mid;
    } else if (arr[mid] < num) {
      min = mid + 1;
    } else {
      max = mid - 1;
    }
  }
  return -1;
}

Explanation: The function takes in two arguments, an array and a number to be searched. First, we set min to 0 and max to the last index of the array. We then use a while loop to keep searching until min is greater than max. Inside the loop, we find the middle index of the array using (min + max) / 2. If the middle value is equal to num, we return the middle index. If the middle value is less than num, we adjust min to mid+1 so that we can eliminate the left half of the array from our search. If the middle value is greater than num, we adjust max to mid-1 so that we can eliminate the right half of the array. If we don't find the number, we return -1.

Note: Since the array is unique and ascending, this implementation of binary search works efficiently with O(log n) time complexity.