当我把1代入n时,我不得到[0,1],我得到[1]

  • 本文关键字:1代入 javascript
  • 更新时间 :
  • 英文 :


这是我创建的斐波那契生成器函数,但由于某种原因,我似乎无法获得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));

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));

最新更新