猿问

for循环里面的求解

var sorceStr = "小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
 
  var arr  = sorceStr.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);  // 取整
   
中的for里面的求解

笨小孩_517
浏览 1091回答 1
1回答

super_mb

for循环的内容不理解么?我觉得注释的挺好的啊。数组arr的每个元素都是 "名字:分数" 这样的字符串,for循环每次处理一个这样的字符串。indexOf()方法可以找到所传参数字符在字符串中的索引,即 arr[i][index] == ":" 为true,这个不难理解吧。然后 substr(a, b) 方法可以从字符串索引为a处开始,取b个字符组成一个新的字符串并返回,在这个循环中,就是从 ":" 后一位开始截取两位字符,很明显截取的字符串就是分数。通过parseInt()方法可以将分数字符串转换为整数,所以每次的分数相加后得到了总分 sum。最后通过sum/arr.length就得到了平均分。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答