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

后面为什么要+1呢?

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

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

  var myarr1=new Array();

  var sum=0;

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

  {

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

  }

  document.write("班级总分:"+sum+"<br>")

  document.write("平均分:"+Math.round(sum/myarr.length))


提问者:植瑞 2019-10-17 22:53

个回答

  • 慕仰1008517
    2019-10-29 15:11:45

    因为indexOf(":")取得的 : 的位置,substr提取数据时会将所填写的下标视为起始位置,也就是说取出的数据会是 :81。加1以后取得才是81本身

  • JohnLone
    2019-10-18 14:47:54

    substr是为了提取数组元素,这个题是为了提取出成绩,而成绩是在“:”后一位所以加一

  • 植瑞
    2019-10-17 22:53:54

        sum +=parseInt(myarr[i].substr(myarr[i].indexOf(":")+1)); 这一句