sum无结果,

来源:7-23 编程练习

Erkeleteyin

2016-10-24 13:40

<script type="text/javascript">

  //通过javascript的日期对象来得到当前的日期,并输出。
  var mydate = new Date();
  var myday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ];
  document.write(mydate.getFullYear()+ "年" + mydate.getMonth() + "月" + mydate.getDate() + "日" + "&nbsp&nbsp" + myday[mydate.getDay()]);
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var scoreArr = new Array(scoreStr.split(";"));
  //document.write(scoreArr);
  //从数组中将成绩撮出来,然后求和取整,并输出。
  var sum = 0;
  for(var i = 0; i<scoreArr.length; i++) {
      //document.write(scoreArr[i]);
      sum += parseInt(scoreArr[i].slice(scoreArr[i].indexOf(":")+1));
  }
  document.write(sum);
</script>

sum的结果不知道为什么是NaN

写回答 关注

3回答

  • _Linl
    2016-10-24 14:34:59
    已采纳

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

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

      var scoreArr = new Array(scoreStr.split(";"));  这一行,相当于把字符串分割后得到的数组做为新数组scoreArr的元素,所以scoreArr中只有一个元素,就是分割后的数组。你的循环只会执行一次。


    Erkele...

    懂了,应该要: var scoreArr = scoreStr.split(";"); 这么写, 谢谢~

    2016-10-24 14:52:25

    共 1 条回复 >

  • betterl
    2016-11-15 16:55:14

    不明白最后一行为什么index要+1 那不就是substr(3)了吗 还能取到数字?

    better... 回复阳光恰好

    哦哦 明白了 谢谢哈

    2016-11-16 10:50:10

    共 2 条回复 >

  • _Linl
    2016-10-24 14:36:05

    应该是 var scoreArr = scoreStr.split(";");

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题