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

我的这个代码有问题啊,看不出来bug

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">

    var date=new Date()

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

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

  document.write(

      date.getFullYear()+"年 "

      +date.getMonth()+"月 "

      +date.getDate()+"日&nbsp"

      +week[date.getDay()]);

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

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

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

  document.write("<br>"+arr);

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

  var sum=0;

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

      sum = sum + parseInt(arr[i].slice(3,5));

      }

   document.write(sum);

    

</script>

</head>

<body>

</body>

</html>


正在回答

1 回答

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

因为你这行 81后面有两个;,去掉一个即可

如果不想去掉,想兼容这种错误的话;循环里面加个判断

for(var i= 0 ; i < arr.length ; i++){
    if(arr[i]){
        sum = sum + parseInt(arr[i].slice(3,5));
    }
}


你那么写只能名称是2个字才行,你可以试下这么写

for(var i= 0 ; i < arr.length ; i++){
    var narr =arr[i].split(':');
    if(narr.length>1){
        sum = sum + parseInt(narr[1]);
    }
}


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

我想改个好听点的名字 提问者

非常感谢!
2015-11-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的这个代码有问题啊,看不出来bug

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