function binarySearch(arr, target) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
const 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; // 没有找到目标元素
}
// 示例用法
const arr = [1, 3, 5, 7, 9, 11, 13];
const target = 7;
const index = binarySearch(arr, target);
if (index !== -1) {
console.log(目标元素 ${target} 在数组中的索引为 ${index}
);
} else {
console.log(目标元素 ${target} 不在数组中
);
}