求和有问题?

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);

zlz6337
浏览 1200回答 1
1回答

pardon110

存在两个问题,一个是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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript