sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));
可以替换成sum += parseInt(sourceArr[i].substr(3)); 结果是正常呢
这样有什么不好的地方吗?
我觉得在确保名字长度一定为2的情况下,是可以这样的。标记为黑的答案对于这道题来说是对的,但是换成名字长度小于或者大于2的情况下,则会出错。健壮性没有前面的好。自己看法,欢迎讨论。
//要考虑姓名的长度和分数位数的不确定性,不一定都是2个字符,所以应该这样写可以的
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var splScore=scoreStr.split(";");
var total=0;
for(var i=0;i<splScore.length;i++){
var p=0;
p=parseInt(splScore[i].split(":")[1]);
total+=p;
}
document.write(total);
var present=new Date()
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(present.getFullYear()+"年"+(present.getMonth()+1)+"月"+present.getDate()+"日"+weekday[present.getDay()]+"<br/>");
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
document.write(scoreStr.split(";") + "<br />");
var sourceArr = scoreStr.split(";");
var sum=0;
for(var i=0;i<sourceArr.length;i++){
/*sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));*/
sum += parseInt(sourceArr[i].substr(3));
}
document.write("平均成绩:"+Math.round(sum/(sourceArr.length))+"<br/>");
标记为黑的这样写可以吗?结果是对的