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

来源:7-23 编程练习

三水朝山

2016-06-11 08:14

<!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回答

  • conca_su
    2016-06-11 09:27:08
    已采纳

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

    三水朝山

    非常感谢!

    2016-06-11 22:27:38

    共 1 条回复 >

  • 点灯夜
    2016-06-11 09:50:40

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

  • qq_西啊哇塞_03436882
    2016-06-11 09:36:57

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

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

    改成

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

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468193 学习 · 21891 问题

查看课程

相似问题