考虑到学生成绩有可能为一位数或者三位数的问题,只进行一次字符数据分组是没法准确获取成绩的,必须两次进行分组,这里给出方法:
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var myarr = scoreStr.split(";");
var allNum=0;
var newArr;
for(i=0;i<myarr.length;i++){
newArr=myarr[i].split(":");
allNum += parseInt(newArr[1]);
}
document.write(allNum +"<br>");
要是有三个字的名字和120分的呢?
这样也可以;
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var arr1=scoreStr.split(";");
var str1=arr1.join(":");
var arr2=str1.split(":");
// 从数组中将成绩撮出来,然后求和取整,并输出。
var sum=0,p=0;
for(var i=1;i<arr2.length;i=i+2){
sum=sum+parseInt(arr2[i]);
p++;}
document.write("--班级总分为:"+sum+"<br>");
document.write("--班级平均分为:"+(sum/p));
这个给力