function binarySearch1 (arr, target, start = 0, end = arr.length - 1) {
var m = Math.floor((start + end) / 2);
if (arr[m] == target) {
return m;
}
if (start >= end) {
return -1;
}
if (target < arr[m]) {
return binarySearch1(arr, target, start, m - 1);
} else {
return binarySearch1(arr, target, m + 1, end);
}
}
function binarySearch2 (arr, target){
var h = arr.length - 1,
l = 0;
while(l <= h){
var m = Math.floor((h + l) / 2);
if(arr[m] == target){
return m;
}
if(target > arr[m]){
l = m + 1;
}else{
h = m - 1;
}
}
return -1;
}
var arr = [-34, 1, 3, 4, 5, 8, 34, 45, 65, 87];
console.log(binarySearch1(arr, 4));
console.log(binarySearch2(arr, 4));