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

这种写法为什么不能获取全部从字符串中数值

var scors=new Array();  var sum=0;  document.write(scoreStr.length);  for(i=0;i<(scoreStr.length*10/6);i++){      scors[i]=scoreStr.substr(3,2);      scoreStr=scoreStr.substring(6,scoreStr.length-1)      document.write(scors[i]+"<br/>");      sum=sum+parseInt(scors[i]);


提问者:Adongy 2018-08-12 23:11

个回答

  • 万般浮云
    2018-08-13 22:48:38
    已采纳

    https://img2.mukewang.com/5b71980a00013b7d04210257.jpg

    ....

    https://img4.mukewang.com/5b7198170001a8ce02920239.jpg

    为什么要scoreStr.length*10/6,有很多步骤跟我的思维完全不一样,我测试了以下你的程序,感觉怪怪的,尤其是循环长度的问题

    正常思维:截取每个数字,转化然后加起来

    问下你可以注释一下你的代码?让我好理解下

    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
    var scors = new Array();
    var sum = 0;
    document.write(scoreStr.length + "<br/>");
    //说明有十组数,十个成绩
    var len = (scoreStr.length+1) / 6;
    var num = 0;
    for (var i = 0; i < len; i++) {
        //截取每个成绩,转化加起来
        sum += parseInt(scoreStr.substr(3+num, 2));
        //跟随规律,每次都跳转到数字的那个下标
       num += 6;
    }
    //从数组中将成绩撮出来,然后求和取整,并输出。
    document.write(weekDay[myDate.getDay()] + "--班级总分为:" + sum);


  • 慕盖茨9312997
    2018-08-27 18:19:03

    给个参考:

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

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

     

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

      var ss2=new Array();

      var sum=0;

      // document.write(ss);

    for(var i in ss){

       

        ss2[i]=parseInt(ss[i].substr(3));

        sum=sum+ss2[i];

    }

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

      

    document.write("班级总分为:"+parseInt(sum/10));


  • 万般浮云
    2018-08-13 00:50:09

    思维不一样:scoreStr.length*10/6;给个参考:

    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
    var scoreArray = scoreStr.split(";");
    var sum = 0;
    for (var x in scoreArray) {
        sum += parseInt(scoreArray[x].substr((scoreArray[x].indexOf(":") + 1), 2));
    }
    //从数组中将成绩撮出来,然后求和取整,并输出。
    document.write(weekDay[myDate.getDay()] + "--班级总分为:" + sum);