为了账号安全,请及时绑定邮箱和手机立即绑定

看不懂是怎么回事 求大神解释

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

 var arr  = scoreStr.split(';');//按 ; 符号进行数组分割

  var sum = 0;

  var av= 0;

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

        var index = arr[i].indexOf(':'); //根据 : 符号确定数字开始的位置 

sum += parseInt(  arr[i].substr(index+1,2)  );  // parseInt() 字符串类型转成整型

   }

av = sum/arr.length;

    av = Math.floor(av);  // 取整

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

 document.write("--班级总分为:"+av);


正在回答

6 回答

var index = arr[i].indexOf(':');    

这个indexOf() 不是显示括号内字符最初出现的位置吗?,怎么提取后面的数字?

不该是每个 indexOf(":")都等于2吗?

0 回复 有任何疑惑可以回复我~

先去runoob上了解下js吧。

0 回复 有任何疑惑可以回复我~

先用split方法将字符串进行分割成为一个数组,小明:87就是数组中的一项,然后循环数组,对每一项 小明:87 进行截取字符串来得到分数,var index = arr[i].indexOf(':'); //得到:出现在字符串的位置,arr[i].substr(index+1,2)截取字符串得到分数。对这些函数不清楚的可以上网查询一下。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

看不懂是怎么回事 求大神解释

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信