Почему эта функция возвращает только true, поскольку нет оператора else, который бы заставлял ее возвращать false при ненулевом условии? - PullRequest
0 голосов
/ 27 февраля 2020

Мне кажется, что этот бит кода просит функцию вернуть false независимо от того, что происходит внутри. Я знаю только использование операторов else для возврата ложных значений, но, может быть, есть что-то за кадром, что я не вижу, чтобы кто-то еще мог объяснить?

Задача: создать функцию, которая принимает два аргумента: массив чисел (arr) и числовое значение (n). Все, что вам нужно сделать, это проверить, содержит ли предоставленный массив числовое значение (n) или нет. Вернуть true, если массив содержит значение, и false, если нет.

function isItThere(arr, n) {
    
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] === n) {
            return 'true';
        }
    } return 'false';
}

console.log(isItThere([1,3,5,6,7,8,9], 3));

1 Ответ

2 голосов
/ 27 февраля 2020

Оператор return 'false' выполняется только после того, как массив исчерпан, а элемент не найден.

function isItThere(arr, n) {
    
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] === n) {
            return 'true';
        }
    } 
    return 'false';//after the array search is done and not found
}

console.log(isItThere([1,3,5,6,7,8,9], 3));
console.log(isItThere([1,3,5,6,7,8,9], 100));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...