Зачем нужен возврат -1? - PullRequest
       49

Зачем нужен возврат -1?

0 голосов
/ 05 августа 2020

Я просто новичок ie и наконец увидел этот блок кода с возвратом. Я просто не знаю, почему он наконец вернулся. Я знаю значение return -1, но не знаю, зачем это нужно. Кто-нибудь может это объяснить? Спасибо

      Function linearSearch(arr, val){
          for (var i = 0; i<arr.length;i++){
              if(arr[i]===val){
                  return i;
              }
          }
          return -1;
      }

1 Ответ

1 голос
/ 05 августа 2020

Часто разработчики создают значение по умолчанию, которое будет возвращено, чтобы сигнализировать о том, что другого действительного ответа не найдено.

Ваша функция просматривает массив (например, [4,8,15,16,23,42]), и выдается значение для поиска (скажем, 16). linearSearch([4,8,15,16,23,42], 16) вернет индекс, в котором находится 16, при этом первым номером будет индекс 0 и так далее. Таким образом, он вернет, что 16 находится в номере индекса 3.

Если val не содержится в массиве arr, например, предположим, вы запустили linearSearch([4,8,15,16,23,42], 108). for l oop будет проходить, не возвращая индекс, а затем вернет -1, чтобы сигнализировать, что val не найден в arr. Это особенно важно для типизированных языков. Эта функция может быть объявлена ​​как возвращающая целое число. Итак, ему нужно будет вернуть что-то . -1 - большое целое число, которое нужно вернуть для обозначения «неудачи», если «успех» обозначен положительным целым числом.

Тогда вы можете сделать что-то вроде

idx = linearSearch([4,8,15,16,23,42], 108)
if (idx == -1) {
  console.log("value not found in array")
}
...