初学者 - 使用以下While循环时出现“NaN”错误

时间:2014-09-16 08:47:10

标签: javascript arrays node.js

在这里萌芽Javascript学习者,我正在尝试通过一些Nodejs教程。其中一个教程让我循环遍历一个数组,该数组总是以两个非数字开头,然后从那里开始数字,所以我使用:array[2]作为起点。

var arrayLength = (process.argv.length);
var i = 2;
var y = 0;

while (i <= arrayLength) {
    y = y + Number(process.argv[i]);
    i++;
}

示例数组[ 'node', '/path/to/your/program.js', '1', '2', '3' ]

但变量y最终等于NaN。在我学习的早期阶段,我理解这意味着一个数字试图添加一个字符串,这当然不能在数学上完成。

当我进行一些调试时,我发现第二次上次运行while()时,它变为NaN

我在这里摸不着原因。有什么指针吗?

1 个答案:

答案 0 :(得分:4)

你正在循环运行一次迭代。变化:

i <= arrayLength

i < arrayLength

(因为我从0开始而不是1,你只想进行交互,直到我比长度少一个。)