| [ Web Proxy ] |
| Viewing: https://raw.githubusercontent.com/alexpaul/JavaScript/main/Algorithms.md | [Back] [Original] |
# Algorithms
## Binary Search
```javascript
function binarySearch(arr, target) {
let low = 0;
let high = arr.length;
while (low < high) {
const middleIndex = Math.floor(low + (high - low) / 2);
if (arr[middleIndex] === target) {
return middleIndex;
} else if (arr[middleIndex] > target) { // look left
high = middleIndex;
} else { // look right
low = middleIndex + 1;
}
}
return -1;
}
const result = binarySearch([1, 2, 3, 4, 5], 3);
console.log(result); // index 2 is returned
```
| Web Proxy Viewer | New URL | Original Page |