gpt4 book ai didi

返回 NaN 的 javascript 变量

转载 作者:行者123 更新时间:2023-11-30 00:24:42 25 4
gpt4 key购买 nike

我有以下函数,但不太明白为什么 newOutput 会返回 NaN。我将 0 传递给 newOutput 作为初始值。

第一个 console.log 返回“0”

第二个 console.log 以字符串形式返回 arrayFinal(在我的脚本之前构建)的值(所有数字都没有空格——例如 1,21,322,14,18.3)。

第三个 console.log 返回 undefined。

最后一个 console.log 返回 NaN,函数的 return 语句也是如此。

失败的地方很明显,但我的问题是为什么这个函数既能把arrayFinal转成字符串又不能得到arrayFinal[i]的值呢?

function itemSum(newOutput, arrayFinal)
{
for(i = 0; i < arrayFinal.length; i++);
console.log(newOutput);
console.log(arrayFinal.toString());
newOutput = arrayFinal[i] + newOutput;
console.log(arrayFinal[i]);
console.log(newOutput);
return newOutput;
};

编辑以纠正问题

function itemSum(newOutput, arrayFinal)
{
for(i = 0; i < arrayFinal.length; i++)
{
console.log(newOutput);
console.log(arrayFinal.toString());
newOutput = arrayFinal[i] + newOutput;
console.log(arrayFinal[i]);
console.log(newOutput);
return newOutput;
}
};

最佳答案

您缺少一组花括号。

代替:

 for(i = 0; i < arrayFinal.length; i++) {
// inner code
}

你有

 for(i = 0; i < arrayFinal.length; i++);
// more code

第一个 for 行实际上是一个空循环。它将递增 i 直到它等于 arrayFinal.length,然后在该循​​环完成后执行剩余的代码。

然后,当您访问 arrayFinal[i] 时,您正在寻找数组末尾之后的一个。 javascript 不会崩溃(就像某些语言在这种情况下所做的那样),而是返回 undefined

然后 undefined 加上一个数字返回 NaN

关于返回 NaN 的 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31867055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com