我想循環這個對象,併爲每個人加起來的值。爲什麼這會返回NaN
?爲什麼在JavaScript中添加這些數字等於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'的值是多少? – Teemu
你沒有啓動變量導致'undefined + =' – tallberg
'var res1 = 0;' – Liam