@TonyGrouse1216

Почему не работает бинарный поиск в js?

Здравствуйте, у меня не работает бинарный поиск, всегда выводится "-1", я думаю что проблема в цикле и он просто игнорируется, хотя я пытался найти решение в интернете, но у меня точно такой же код, как и у других людей, но у них работает. Заранее спасибо за помощь.
'use strict';

function binarySearch(arr, item) {
    let low = 0,
        high = arr.lenght - 1;

    while (low <= high){
        let mid = Math.floor((low + high) / 2);
        if (arr[mid] < item){
            low = mid + 1;
        }
        if (arr[mid] > item){
            high = mid - 1;
        }else {
            return mid;
        }
    }
    return -1;
}

const array = [1,2,3,4,5,6,7,8,9,10];
console.log(binarySearch(array, 9));
  • Вопрос задан
  • 82 просмотра
Решения вопроса 2
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Потому, что не arr.lenght, а arr.length. А ещё ошибка в if'ах
function binarySearch(arr, item) {
    let low = 0;
    let high = arr.length - 1;

    while (low <= high) {
        let mid = (low + high) >> 1;
        if (arr[mid] < item) {
            low = mid + 1;
        } else if (arr[mid] > item) {
            high = mid - 1;
        } else {
            return mid;
        }
    }
    return -1;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
27 янв. 2021, в 00:37
11111 руб./за проект
26 янв. 2021, в 23:30
3000 руб./за проект
26 янв. 2021, в 23:07
1000 руб./за проект