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

不明白为什么要用substring(3,5)提取字符串

  

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


  var myarr=new Array();


myarr=scoreStr.split(";");


 var sum=0;


 for(i=0;i<10;i++){


   sum=sum+parseInt(myarr[i].substring(3,5));//将字符串类型转成整型


 }


  var average=Math.round(sum/10);


 document.write("班级平均分为:"+average);


提问者:Juno815 2017-07-13 10:45

个回答

  • 慕慕6468460
    2017-08-07 10:05:50

    我用的是分割字符串的方法(split()),具体如下:

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

  • 慕神0240365
    2017-07-13 11:51:14

    substring(3,5)原因是含头不含尾

  • 慕仰9160965
    2017-07-13 11:49:01

    substring(3,5)表示提取从0开始的3和4,不包括5,小红:97用substring(3,5)提取了97

  • 慕粉3939856
    2017-07-13 11:45:41

    我也借楼问个问题 为什么是substring(3,5)而不是substring(3,4)呢 这5是代表什么

  • 慕哥1589388
    2017-07-13 11:16:55

    "abcdefg".substring(3,5) 的结果是de,上面的代码中就是用它来取出数字的。