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

这个哪里错了?

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

  var myarr=[scoreStr.split(";")];

  var sum=0.av=0;

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

  {var myarr2=myarr[i].indexOf(":");

  sum+=parseInt(myarr[i].substr(myarr2+1,2));

 }


提问者:天凡云 2016-10-05 11:08

个回答

  • 慕村1994845
    2016-10-18 22:55:46
    已采纳

    有两处错误,看我代码的注释处:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
      var myarr=scoreStr.split(";");//这里scoreStr.split(";")已经是数组了,不再是字符串,不用再加一个[],你可以回头看下这节内容;.split()是将字符串变换为数组,而.join()是将数组变换为字符串;这个可以比较着来记住
      var sum=0,av=0;//这里,你写的是var sum=0.av=0;中间使用英文的逗号,隔开,不是用英文的句号.应该是你按错
     for(var i=0; i<myarr.length  ;i++)
      {var myarr2=myarr[i].indexOf(":");
      sum+=parseInt(myarr[i].substr(myarr2+1,2));
     }
     document.write(sum)//这里输出的sum其实是sum+;
     </script>
    
    </head>
    
    <body>
    </body>
    </html>


  • 含泪韵心弦
    2016-10-05 15:06:49

    //通过javascript的日期对象来得到当前的日期,并输出。
      var date = new  Date();
      document.write(date);
     

      //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
      var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
       var scoreArr = scoreStr.split(";");
     
      //从数组中将成绩撮出来,然后求和取整,并输出。
      var score = 0;
      var sum = 0;
      for(var i = 0;i<scoreArr.length;i++){
             score = parseInt(scoreArr[i].substr(3,2));
             sum = sum+score;
          }
      var ave = sum/(scoreArr.length);
     document.write("平均分是:"+Math.round(ave));

  • 慕粉3435668
    2016-10-05 11:40:10

    sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));

  • 迷路的地图1993
    2016-10-05 11:39:28

    sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));