为什么按照我的方法,结果没有出来啊,帮忙看看,谢谢了

来源:7-23 编程练习

慕粉3686312

2016-08-03 21:56

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>

<script type="text/javascript">
var mydate=new Date();
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(
    mydate.getFullYear()+"年"+
    (mydate.getMonth()+1)+"月"+
    mydate.getDate()+"日"+"&nbsp"+
    weekday[mydate.getDay()]);
  //通过javascript的日期对象来得到当前的日期,并输出。
  
  

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

</script>
</head>
<body>
</body>
</html>


写回答 关注

2回答

  • qq_深渊_1
    2016-08-03 23:00:41

    你的:

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

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

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

     var score1=new Array();

     var score1=score.split(":");

    var sum=0;

    for (var i=1;i<=score1.length;i=i+2){

        sum+=parseInt(score1[i]);

        }

    该成:

      var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
     
      //从数组中将成绩撮出来,然后求和取整,并输出。
      var score=scoreStr.split(";");
      var score1=new Array();
      var sum=0;
      for(var i=0;i<score.length;i++)
      {
       var score2=score[i].split(":");
       score1[i]=score2[1];
       }
      for(var j=0;j<score1.length;j++)
      {
       sum+=parseInt(score1[j]);
       }

    慕粉3686... 回复qq_深渊_...

    谢谢了,我会努力的。

    2016-08-03 23:32:38

    共 4 条回复 >

  • 水里有条鱼
    2016-08-03 22:24:41

    有两个问题,第一

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

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

    这两个连在一起,第一条结果被覆盖掉,所以第一条没什么用了

    第二

     var score1=score.split(":");

    如果上面第一条没用,在以符号":"分隔时,分隔后变成:

    小明 

    87,小花

    81,小红

    ,97,小天

    76,小张

    74,小小

    94,小西

    90,小伍

    76,小迪

    64,小曼

    76

    所以后面的会错


    可以改成:

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

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

     var score2 = "";

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

    score2 =  score2 + score[i] + ":" ;

     }

     var score1=new Array();

     var score1=score2.split(":");

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

    document.write(score1[i]+"<br>");

     }

    var sum=0;

    for (var i=1;i<score1.length;i=i+2){  //这里把<=改为<

        sum+=parseInt(score1[i]);

        }

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

       

    document.write(sum/score1.length*2);


    qq_深渊_... 回复慕粉3686...

    先把字符串分割成数组,然后把数组拼成字符串,然后再分割成数组,看看我的吧,我把字符串分割成数组后,然后把数组中的每个元素看成字符串进行再次分割直接只取数值部分

    2016-08-03 23:08:27

    共 4 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题