为了账号安全,请及时绑定邮箱和手机立即绑定

求和有问题?

求和有问题?

zlz6337 2015-10-27 08:21:43
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);


查看完整回答
反对 回复 2015-10-27
  • 1 回答
  • 0 关注
  • 1199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信