- Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbinarySearch.js
More file actions
Latest commit
30 lines (25 loc) · 850 Bytes
/
Copy pathbinarySearch.js
File metadata and controls
30 lines (25 loc) · 850 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
letbinarySearch=(numArray,myNumber,cb)=>{
letarrayLength=numArray.length;
letmiddleIndex=Math.floor(arrayLength/2);
if(numArray[middleIndex]==myNumber){
returncb(null,true);
}elseif(numArray.length<=1){
returncb(null,false);
}elseif(numArray[middleIndex]>myNumber){
numArray=numArray.slice(0,middleIndex);
binarySearch(numArray,myNumber,cb);
}elseif(numArray[middleIndex]<myNumber){
numArray=numArray.slice(middleIndex,numArray.length);
binarySearch(numArray,myNumber,cb);
}
};
binarySearch([5,7,12,16,36,39,42,56,71],56,(err,flag)=>{
if(err){
}else{
if(flag){
console.log('Number found.');
}else{
console.log('Number not found.');
}
}
});