Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var binarySearch = function(arr, record){
- var start = 0;
- var end = arr.length -1;
- var middleIndex;
- var firstIndex = -1;
- while(start <= end){
- if( start === end){
- middleIndex = start;
- }else{
- // end + start may overflow
- middleIndex = Math.floor((end - start) / 2) + start;
- }
- if(arr[middleIndex] === record){
- firstIndex = middleIndex;
- end = middleIndex -1;
- }else if(arr[middleIndex] > record){
- end = middleIndex - 1;
- }else{
- start = middleIndex + 1;
- }
- }
- return firstIndex;
- };
- console.log(binarySearch([1,2,3,4,4,4,5,6,7,8], 4));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement