我正在上codecademy.com类(class),其中包含编写下方的calculateTotal函数的说明。当我单击运行时,它将返回NaN。任何人都知道我编写的calculateTotal函数出了什么问题,使它返回NaN。请注意,我知道NaN并非数字...
// runner times
var carlos = [9.6,10.6,11.2,10.3,11.5];
var liu = [10.6,11.2,9.4,12.3,10.1];
var timothy = [12.2,11.8,12.5,10.9,11.1];
// declare your function calculateTotal here
var calculateTotal = function(raceTimes){
var totalTime;
for(i = 0; i < raceTimes.length; i++){
totalTime += raceTimes[i];
return totalTime;
}
};
var liuTotal = calculateTotal(liu);
console.log(liuTotal);
请注意,许多回答此问题的人都说var totalTime必须设置为“O”。但是,在下一个代码类(class)中,作者编写了一个函数,其totalTime未设置为任何值,并且可以正常工作
var calculateAverage = function (raceTimes) {
var totalTime;
for ( i = 0; i < raceTimes.length; i++ ) {
totalTime = (totalTime || 0) + raceTimes[i];
}
// assign variable averageTime
var averageTime = totalTime / raceTimes.length;
return averageTime;
};
最佳答案
两个问题:
totalTime
未定义-向NaN
中添加未定义结果固定:
var totalTime=0;
for(i = 0; i < raceTimes.length; i++){
totalTime += raceTimes[i];
}
return totalTime;