繁体   English   中英

为什么返回NaN而不是数字?

[英]Why is this returning NaN instead of a number?

JavaScript noob在这里...

我试图遍历一个数组并将值加在一起。 这就是我所拥有的:

var totalXyz;
var arrayLength = data.length;
for (var i = 0; i < arrayLength; i++) {
    totalXyz += parseInt(data[i]["xyz"]);
}
alert(totalXyz);

该警报返回NaN而不是总数。 我究竟做错了什么? 我已经检查过数据数组是否包含要添加的数字。 只需要立即添加它们。

谢谢!

您需要totalXyz为数字开头:

var totalXyz = 0;

在您的代码中,您没有对其进行初始化,因此它是undefined ,并且undefined加上任何数字都会给您NaN

在进行加法之前,您最初并未分配totalXyz的数值。

所以这:

var totalXyz;
totalXyz += parseInt(data[i]["xyz"]);

类似于:

totalXyz = undefined + parseInt(data[i]["xyz"]);

产生NaN原因是undefined +数字= NaN

在计算之前,您需要初始化totalXyz的数值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM