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

来源:7-23 编程练习

爱的梦想2015

2015-08-31 01:32

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);


写回答 关注

3回答

  • 金山打字桶
    2015-12-06 01:16:09

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

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

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

  • 荼酒
    2015-08-31 18:40:38

    先去runoob上了解下js吧。

  • donlv
    2015-08-31 09:02:34

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

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题