// binary search implementation const arr = [1, 3, 5, 7, 8, 9]; const binarySearch = (arr, x, start = 0, end = arr.length) => { // If the item does not exist, return -1 if (end < start) return -1; // Calculate middle index of the array let mid = Math.floor((start + end) / 2); // Is the middle a match? if (arr[mid] === x) return mid; // Is the middle less than x if (arr[mid] < x) return binarySearch(arr, x, mid + 1, end); // Else the middle is more than x else return binarySearch(arr, x, start, mid - 1); }; console.log(binarySearch(arr, 9));