【发布时间】:2020-12-30 06:03:10
【问题描述】:
在我的 javascript 代码中,我在索引 2 之后得到 NaN,比如如果我将 5 作为输入,那么我得到 [0,1,NaN,NaN,NaN],但我不明白为什么我会得到这个 NaN,它表示什么回答
var a = [];
var n = prompt("enter a number: ");
for (var i = 1; i <= n; i++) {
if (i === 1) {
a.push(0);
}
if (i === 2) {
a.push(1);
} else if (i > 2) {
var num1 = a[i - 1];
var num2 = a[i - 2];
var num3 = a[i - 1] + a[i - 2];
a.push(num3);
}
}
console.log(a);
【问题讨论】:
-
调试它
else if(i>2) { console.log(i, a[i-1], a[i-2]);(你的shift键也坏了吗?) -
您的数组索引与 i 相比相差一个。第一次收到
a[i-1]时,您会变得不确定。然后,当您尝试添加 num2 时,您会得到 NaN。之后,你总是在做 undefined + NaN。
标签: javascript fibonacci