是不是变量aver在for循环里面计算就会循环好多遍是num.length的次数?还有slice后面数字计算如何计算

来源:7-23 编程练习

Samuel_Yang

2017-03-01 17:10

  var currentDate = new Date();

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

  document.write(currentDate.getFullYear()+"年"+(currentDate.getMonth()+1)+"月"+currentDate.getDate()+"日"+""+weekday[currentDate.getDay()]);

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

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

     var sum=0;

     var aver=0;

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

      sum=sum+parseInt(num[i].slice(3,5));   //数来数去不对劲

  }

  aver=sum/num.length;

      document.write("<br/>"+"全班平均分:"+parseInt(aver));


写回答 关注

3回答

  • C哈先生
    2017-03-01 17:42:12
    已采纳

    代码中aver不在for循环里,在里面算的话就是每次加入新的成绩都算平均分,次数是num.length,slice的话是数组的方法,slice(start,end)从下标start开始到end前(不算end)结束,数组下标是从0才是算的。

    Samuel...

    下标开始的怪不得

    2017-03-02 09:29:38

    共 2 条回复 >

  • 梦飞翔2
    2017-03-02 09:39:03

    aver不在for循环中,不会循环

  • qq_灰王妃_0
    2017-03-01 17:47:32

    在for循环里就会计算循环次数遍,但是你写的不在for循环里。你没有定义slice的计算方法,应该定义一个带参数的slice函数,在里面规定计算方法。

JavaScript进阶篇

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

468276 学习 · 21892 问题

查看课程

相似问题