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); //返回查找内容的下标

效果图片