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

parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));这句什么意思呢?

var sorceStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var sourceArr = sorceStr.split(";");
  //document.write(sourceArr);//test
   //从数组中将成绩撮出来,然后求和取整,并输出。
   var score = new Array();
   var sum = 0;
   for (var i = 0; i < sourceArr.length; i ++) {
       sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));
       //document.write("<br>" + sum);//test
   }
   document.write("--班级总分为:" + sum);
   document.write(",班级平均分为(保留整数):" + Math.round(sum/sourceArr.length))
</script>

提问者:遇见花开 2015-08-15 23:55

个回答

  • RainbowPeter
    2015-08-16 00:23:51
    已采纳

    举个例子,第一点,你要明白sorceStr.split(";")是字符串分隔函数,表示用";" 来分隔字符串,所以当i=1时, sourceArr[1]="小明:87",

    第二点,你要明白sourceArr[1].substr("index")是字符串截取函数,参数表示要截取字符串的开始位置;

    第三的,你要明白sourceArr[1].indexOf(":")是获取字符":"的位置,+1自然就是数字8的位置了,然后从8开始截取,到字符串末尾,所以就是87这个字符串;最后parseInt("87")是将字符串转化为整数做算术运算

  • savekai
    2016-04-06 19:25:26

    当i=0时, sourceArr[0]="小明:87"