[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/anasmak04/Problem-solving-with-JavaScript/master/problem-27.js [Back]  [Original]

// 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));

Web Proxy Viewer  |  New URL  |  Original Page