var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";var arr1=scoreStr.split(";");document.write(arr1+"<br>");for(var i=0;i<arr1.length;i++){ /*var arr2=arr1[i].indexOf(":");*/ var sum=""; sum+=parseInt(arr1[i].substring(3));}document.write(arr1.length+"<br>");document.write(sum + "<br>");var aver=parseInt(sum/arr1.length);
1 回答
pardon110
TA贡献1038条经验 获得超227个赞
存在两个问题,一个是split用法不妥最好用正则,第二个是逻辑上的错误。先谈第二个,sum初始值被你给了空字符串,然后你将它与数字+运算,最终得到的只可能是字符串拼接。参阅调整后的代码。
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var arr1=scoreStr.split(/\D+/); //用正则非数字切割
console.log(arr1);
var sum=0; //初始值为数字0
for(var i=1;i<arr1.length;i++){
sum+=parseInt(arr1[i]);
}
console.log(arr1.length);
console.log(sum);添加回答
举报
0/150
提交
取消
