var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var arr=scoreStr.split(";");
var sum=0;
for(var i=0;i<arr.length;i++){
sum+=parseInt(arr[i].substr(3));
}
var av=Math.floor(sum/arr.length);
document.write("--班级总分为:"+av);
var arr=scoreStr.split(";");
//把字符串scoreStr按照‘;’分割符号进行分割,分割后的数组放到变量arr中,得到
//[[小明:87],[小花:81],[小红:97],[小天:76],[小张:74],[小小:94],[小西:90],[小伍:76],[小迪:64],[小曼:76]]
var sum=0;
for(var i=0;i<arr.length;i++){ //循环遍历输入arr
sum+=parseInt(arr[i].substr(3));
//从数组中的每一个字符串提取索引3位置及后面的内容,并将提取的内容转换成数字,并进行加赋值
//arr[0]=[小明:87],经过substr(3)提取出87,在经过parseInt()转换成整数的87
}
var av=Math.floor(sum/arr.length);
//求出平均值
document.write("--班级总分为:"+av);
这个代码应该是求平均分吧。。PS(我也是新手,大概解释一下,如果有不恰当的,请指出)
首先split把scoreStr字符串按照;号分割成一个数组,并让arr指向这个数组,因此arr也代表的是这个数组;用for循环遍历这个数组,arr[i].substr(3)表示删除数组中每个字符串的前3位啊,就得到分数的字符串,再用parseInt强制转换成数字累加得到总的成绩;最后调用全局函数求得平均分。