var scoreStr=new Array();
var scoreStr="小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var str1=scoreStr.split(";");
var str2=str1.split(":");
var sum=0;
for(var i=0;i<=(str2.length);i=i+2){
str2[i+1]=parseInt(str2.substring(i+1,i+2));
sum=str2[i+1]+sum;
}
document.write(sum);
你这个,逻辑很混乱啊==
首先循环里i并不能=str2.length,否则就超出数组长度了,更何况i是以每两个为一组往上加的
其次str2是个数组,是不能用substring来提取字符串的,因为这个方法只能在字符串里提取字符串。还有,你的str1已经是一个数组了,因为split是将字符串分割为数组的方法,你再用它来分割一个数组以得到另一个数组是不可能的。。
我直接把我的答案贴一下,有疑惑可以再问我
var scoreArr=scoreStr.split(";"); var sum=0; for(var i = 0; i < scoreArr.length; i++){ sum += parseInt(scoreArr[i].substring(3,5)); } document.write(sum);