【发布时间】:2018-03-15 19:46:19
【问题描述】:
我正在尝试遍历这个对象并将每个人的值相加。为什么会返回NaN?
var result = {
"alex": {
"1": 9.333333333333334,
"2": 7.666666666666666,
"3": 8.666666666666668,
"4": 8.666666666666668,
"5": 9.666666666666668,
"6": 9,
"7": 10,
"8": 10,
"9": 9.333333333333334,
"10": 8.333333333333334,
"11": 10,
"12": 9.333333333333334
},
"frank": {
"1": 9.666666666666668,
"2": 10,
"3": 9.333333333333334,
"4": 9.333333333333334,
"5": 9.333333333333334,
"6": 9.333333333333334,
"7": 8.666666666666666,
"8": 9,
"9": 9.333333333333334,
"10": 8.666666666666668,
"11": 7.666666666666666,
"12": 8.666666666666668
}
}
var res1, res2;
for (var key in result.alex) {
res1 += parseInt(result.alex[key]);
}
for (var key in result.frank) {
res2 += parseInt(result.frank[key]);
}
console.log("Res1: " + res1);
console.log("Res2: " + res2);
如果我删除+,那么我会得到一个有效的号码,但显然它只是一个号码。
这里有什么问题?
【问题讨论】:
-
好好想想,你的代码中第一个
+=之前的res1的值是多少? -
您没有启动导致
undefined +=的变量 -
var res1 = 0; -
@Teemu 掌心时刻。由于您实际上是第一个回答虽然间接的人,请将其添加为答案,我会接受它。
-
@ProEvilz 你不能,它有赞成的答案。所有的重复都不错,当有多个帖子时,更容易找到答案。
标签: javascript