js二分查找
原生方法实现
function binary_search(arr, key) {
var low = 0;
var high = arr.length - 1;
while (low <= high) {
var mid = Math.floor((high + low) / 2);
if (key === arr[mid]) {
return mid;
} else if (key > arr[mid]) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return -1;
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 22, 33, 44];
var result = binary_search(arr, 44);
console.log(result); //返回查找内容的下标