为了账号安全,请及时绑定邮箱和手机立即绑定

sum无结果,

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

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

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

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


0 回复 有任何疑惑可以回复我~
#1

Erkeleteyin 提问者

懂了,应该要: var scoreArr = scoreStr.split(";"); 这么写, 谢谢~
2016-10-24 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

阳光恰好

比如 小明:87,下标3的位置是8,substr(3)从8开始取值,取到末尾是87
2016-11-16 回复 有任何疑惑可以回复我~
#2

betterl 回复 阳光恰好

哦哦 明白了 谢谢哈
2016-11-16 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

sum无结果,

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信