var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var chengji=scoreStr.split(";");
var shuchu=0;
var pingjun=0;
for(var i =0;i<chengji.length;i++){
var index = chengji[i].indexOf(':');
sum += parseInt (chengji[i].substr(index+1,2));
}
shuchu=sum/chengji.length;
pingjun=Math.round(shuchu);
document.write("--班级总分为:"+pingjun);
只需要在for上面加一句 var sum=0 就可以啦
var index = chengji[i].indexOf(':');中的indexOf改成split,
然后把sum += parseInt (chengji[i].substr(index+1,2));
这句话改成sum+=parseInt(index[1]);
这样应该就对了
附上我自己的代码
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sc = scoreStr.split(";");//将字符串分割放在数组内。
a=sc.length;//数组sc的长度
var sum=0;//初始化sum
//从数组中将成绩撮出来,然后求和取整,并输出。
for(i=0;i<a;i++)
{
var sc1 = sc[i].split(":");//将每个人的姓名和成绩单独存在一个数组
sum=sum+parseInt(sc1[1]); //累加出总分
}
document.write("平均分为:"+(sum/a));//打印出平均分
可以用的,以下是你的代码。 sum函数指的是返回某一单元格区域中数字、逻辑值及数字的文本表达式之和。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var chengji=scoreStr.split(";");
var shuchu=0;
var sum=0;//pingjun修改为sum
for(var i =0;i<chengji.length;i++){
var index = chengji[i].indexOf(':');
sum += parseInt (chengji[i].substr(index+1,2));
}
shuchu=sum/chengji.length;
sum=Math.round(shuchu);//pingjun修改为sum
document.write("--班级总分为:"+sum);//pingjun修改为sum
</script>
</body>
</html>
完全可以用- -
很简单 你把pingjun重新定义为sum就可以用了