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

javaScript内置对象编程练习,谁能帮我分析一下其他同学的代码,看不懂,唉。

  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
 
var arr=scoreStr.split(";");
var sum=0;
for(var i=0;i<arr.length;i++){
sum+=parseInt(arr[i].substr(3));
}
var av=Math.floor(sum/arr.length);
document.write("--班级总分为:"+av);

正在回答

2 回答

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

  //把字符串scoreStr按照‘;’分割符号进行分割,分割后的数组放到变量arr中,得到

  //[[小明:87],[小花:81],[小红:97],[小天:76],[小张:74],[小小:94],[小西:90],[小伍:76],[小迪:64],[小曼:76]]

  var sum=0;

  for(var i=0;i<arr.length;i++){  //循环遍历输入arr

      sum+=parseInt(arr[i].substr(3));  

 //从数组中的每一个字符串提取索引3位置及后面的内容,并将提取的内容转换成数字,并进行加赋值

 //arr[0]=[小明:87],经过substr(3)提取出87,在经过parseInt()转换成整数的87

   }

var av=Math.floor(sum/arr.length);

//求出平均值

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


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

慕粉1461748147 提问者

十分感谢
2016-08-03 回复 有任何疑惑可以回复我~

这个代码应该是求平均分吧。。PS(我也是新手,大概解释一下,如果有不恰当的,请指出)

首先split把scoreStr字符串按照;号分割成一个数组,并让arr指向这个数组,因此arr也代表的是这个数组;用for循环遍历这个数组,arr[i].substr(3)表示删除数组中每个字符串的前3位啊,就得到分数的字符串,再用parseInt强制转换成数字累加得到总的成绩;最后调用全局函数求得平均分。

1 回复 有任何疑惑可以回复我~
#1

慕粉1461748147 提问者

十分感谢
2016-08-03 回复 有任何疑惑可以回复我~
#2

jkc2017 回复 慕粉1461748147 提问者

不客气
2016-08-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

javaScript内置对象编程练习,谁能帮我分析一下其他同学的代码,看不懂,唉。

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