Samuel_Yang
2017-03-01 17:10
var currentDate = new Date();
var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
document.write(currentDate.getFullYear()+"年"+(currentDate.getMonth()+1)+"月"+currentDate.getDate()+"日"+""+weekday[currentDate.getDay()]);
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var num=scoreStr.split(";");
var sum=0;
var aver=0;
for(var i=0;i<num.length;i++){
sum=sum+parseInt(num[i].slice(3,5)); //数来数去不对劲
}
aver=sum/num.length;
document.write("<br/>"+"全班平均分:"+parseInt(aver));
代码中aver不在for循环里,在里面算的话就是每次加入新的成绩都算平均分,次数是num.length,slice的话是数组的方法,slice(start,end)从下标start开始到end前(不算end)结束,数组下标是从0才是算的。
aver不在for循环中,不会循环
在for循环里就会计算循环次数遍,但是你写的不在for循环里。你没有定义slice的计算方法,应该定义一个带参数的slice函数,在里面规定计算方法。
JavaScript进阶篇
468276 学习 · 21892 问题
相似问题
回答 8
回答 3