给我一段用js写的二分查找算法
时间: 2023-12-24 09:04:20 浏览: 71
当然!以下是使用 JavaScript 编写的二分查找算法的示例代码:
```javascript
function binarySearch(arr, target) {
var left = 0;
var right = arr.length - 1;
while (left <= right) {
var mid = Math.floor((left + right) / 2);
if (arr[mid] === target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
// 示例用法:
var array = [2, 4, 6, 8, 10];
var target = 6;
console.log(binarySearch(array, target)); // 输出 2
```
以上代码定义了一个名为 `binarySearch` 的函数,它接受一个已排序的数组 `arr` 和目标值 `target` 作为参数。通过不断缩小搜索范围,将数组分为左右两部分,并在每次迭代中比较中间元素与目标值的大小,从而确定目标值是否存在于数组中。如果找到目标值,则返回其索引;否则,返回 -1。
请注意,二分查找算法要求输入的数组必须是已排序的数组。如果输入的数组未排序,需要先对其进行排序,然后再进行二分查找。
阅读全文