问答详情
源自:7-23 编程练习

为毛毫无反应啊

<script type="text/javascript">

  var myday=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];  

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

  var mydate = new Date();

  document.write(mydate.getFullYear()+"年"+mydate.getMonth()+"月"+mydate.getDate()+"日 星期"+myday[mydate.getDay()});

  

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

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

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

  var score = new Array();

  var sum;

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

      score[i] = parseInt(studentArr[i].split(":")[1]);

      sum += score[i];

  }

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

  document.write("平均值为:"+Math.round(sum/studentArr.length));

</script>


提问者:Guy林 2017-05-12 16:07

个回答

  • 学习js
    2017-05-12 16:37:33

    1.myday[mydate.getDay()} ,前面是[,后面是},错误

    2. score[i] = parseInt(studentArr[i].split(":")[1]);错误,score[i]这样只为第一个值,sum会成为undefined

    下面贴上我的部分代码给你作参考:

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

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

       var sum=0;

       var av=0;

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

           var index=arr[i].indexOf(":");

           sum+=parseInt(arr[i].substr(index+1,2));

       }

       av=sum/arr.length;

       av=Math.floor(av);

       document.write("班级平均分:"+av);


  • qq_阿点_0
    2017-05-12 16:10:44

    一到编程练习就不会可怕