JavaScript 中的二分搜索程序
javascriptweb developmentobject oriented programming更新于 2025/9/28 17:16:17
创建一个函数,例如 binarySearch(),它接受 4 个参数 −
- 已排序的数字/字符串文字数组
- 数组的起始索引 (0)
- 数组的结束索引 (长度 - 1)
- 要搜索的数字
如果数组中存在该数字,则应返回该数字的索引,否则应返回 -1。以下是完整代码 −
示例
const arr = [2,4,6,6,8,8,9,10,13,15,17,21,24,26,28,36,58,78,90];
//二分查找函数
//如果找到则返回元素索引,否则返回 -1
const binarySearch = (arr, start, end, num) => {
const mid = start + Math.floor((end - start)/2);
if(start <= end){
if(arr[mid] === num){
return mid;
}
if(num < arr[mid]){
return binarySearch(arr, start, mid-1, num);
}
if(num > arr[mid]){
return binarySearch(arr, mid+1, end, num);
}
}
return -1;
};
console.log(binarySearch(arr, 0, arr.length-1, 13));
console.log(binarySearch(arr, 0, arr.length-1, 11));
输出
此代码在控制台中的输出将为 −
8 -1
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

