You need some more return statements before calling the same function again.
And while you return for every true if statement, you could omit else.
function arrsort(arr) {
return arr.sort(function(a, b) {
return a - b;
});
}
const binarySearch = (arr, num, start, end) => {
arr = arrsort(arr);
start = 0;
end = arr.length;
var mid = Math.floor(end / 2);
if (arr[mid] === num) {
return true;
}
if (arr[mid] < num && end > 1) {
return binarySearch(arr.splice(mid, Number.MAX_VALUE), num, start, end);
}
if (arr[mid] > num && end > 1) {
return binarySearch(arr.splice(start, mid), num, start, end);
}
return false;
}