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

请教大神为什么输出不了平均数?

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">


  //通过javascript的日期对象来得到当前的日期,并输出。

   

  


 var a=new Date();

 var b=a.getDate();

 var c=a.getFullYear();

 var d=a.getMonth();

 var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

 var e=week[a.getDay()];

 document.write(c+"年"+d+"月"+b+"日"+"&nbsp"+e)

  


  

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

 var scoreStr1= scoreStr.split(";");

 var g=0;

 var h=0;

 for(i=0;i<=scoreStr1.length;i++){

     g=g+parseInt(scoreStr1[i].slice(3,5));}



  //从数组中将成绩撮出来,然后求和取整,并输出。

  h=g/scoreStr1.length;

document.write("该班级的平均分为"+h);

 

</script>

</head>

<body>

</body>

</html>


正在回答

3 回答

上面的for循环控制应该是var i=0;i<scoreStr1.length;i++,不是<=scoreStr1.length。这次应该解决了

0 回复 有任何疑惑可以回复我~
#1

三水朝山 提问者

非常感谢!
2016-06-11 回复 有任何疑惑可以回复我~

楼上的都回答了,我就回答个精简的吧  改成for(var i in scoreStr1){  }   这样的话就不用考虑加不加等号和数组长度的事了,程序会自动处理

0 回复 有任何疑惑可以回复我~

数组超出范围了 把等于号去掉

 for(i=0;i<=scoreStr1.length;i++){

改成

 for(i=0;i<scoreStr1.length;i++){

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请教大神为什么输出不了平均数?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信