Когда я передаю 1 в ni, не получаю [0,1] я получаю [1]? - PullRequest
0 голосов
/ 05 августа 2020

Это функция генератора Фибоначчи, которую я создал, но по какой-то причине я не могу получить результат для 1 = [0,1]. Хотя для других условий это работает нормально. Если кто-то может указать мне на то, что я здесь делаю не так.

function bl(n) {
  var output = [];
  var firstNo = 0;
  var secondNo = 1;

  if (n === 0) {
    output.push(0);
  }
  if (n === 1) {
    output.push(0);
    output.push(1);
  } else {
    for (var i = 0; i < n; i++) {
      var sum = firstNo + secondNo;
      firstNo = secondNo;
      secondNo = sum;
      output.push(sum);
    }
    return output;
  }
}
console.log(bl(1));

1 Ответ

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

return output должен был выполняться для всех условий, поэтому просто выполните его в конце вашей функции.

function bl(n) {
  var output = [];
  var firstNo = 0;
  var secondNo = 1;

  if (n === 0) {
    output.push(0);
  }
  if (n === 1) {
    output.push(0);
    output.push(1);
  } else {
    for (var i = 0; i < n; i++) {
      var sum = firstNo + secondNo;
      firstNo = secondNo;
      secondNo = sum;
      output.push(sum);
    }
  }
  return output;
}
console.log(bl(1));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...