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

求解:为什么我这样写总和为76?

<script type="text/javascript">

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

  var Tdate = new Date();

  var Year = Tdate.getFullYear();

  var Month = Tdate.getMonth();

  var TDate = Tdate.getDate();

  var Day = Tdate.getDay();

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

  

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

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

  

  var score = 

  [

    ["小明",87],["小花",81],["小红",97],

    ["小天",76],["小张",74],["小小",94],

    ["小西",90],["小五",76],["小迪",64],

    ["小曼",76]

  ];

  

  //var scoreArr = scoreStr.split(";");


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

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

      var sum = 0;

      sum = sum + score[i][1];

  }

  document.write(Year+"年"+Month+"月"+TDate+"日 "+TDay[Day]+"<br />");

  document.write("班级总分为:"+sum+"<br />");

  document.write("班级平均分为:"+Math.round(sum/10)+"<br />");



</script>


提问者:慕娘6338323 2019-09-29 10:47

个回答

  • 慕雪6475486
    2019-09-29 15:13:23

    var sum = 0; 要放到for循环外面;不然每循环一次都会将sum的值重新设置为‘0’,最终输出的是数组最后一个元素的值(76)