В чем проблема этой рекурсивной функции javascript? [JS] - PullRequest
2 голосов
/ 20 февраля 2020

Привет всем Я пытаюсь создать программу для вывода, когда число даже с использованием рекурсивных вызовов. Кто-нибудь, пожалуйста, скажите мне, почему это не работает, как я ожидал?.

const isEven = num => {
  if (num === 0) return true;
  else if (num === 1) return false;
  //console.log(num);
  isEven(num-2);
}

isEven(16); // Epected Log: 0 but instead it returns undefined

Ответы [ 2 ]

3 голосов
/ 20 февраля 2020

Поскольку для аргументов, отличных от 0 или 1, возвращаемое значение отсутствует. Последняя строка:

  isEven(num-2);

должна быть

  return isEven(num-2);
1 голос
/ 20 февраля 2020

Вы не возвращаете значение.

Изменение:

isEven(num-2);

Кому:

return isEven(num-2);
...