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
提交
取消