Files
30-seconds-of-code/test/binarySearch/binarySearch.js
2018-01-09 06:09:49 -05:00

7 lines
282 B
JavaScript

module.exports = (arr, val, start = 0, end = arr.length - 1) => {
if (start > end) return -1;
const mid = Math.floor((start + end) / 2);
if (arr[mid] > val) return binarySearch(arr, val, start, mid - 1);
if (arr[mid] < val) return binarySearch(arr, val, mid + 1, end);
return mid;
}