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

JS进阶篇 7-23编程练习,下面下划线部分都不太明白啊!!感谢大神!

<script type="text/javascript">


  //通过javascript的日期对象来得到当前的日期,并输出。

  var currentDate = new Date();

  var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];

  document.write(

      currentDate.getFullYear() + "年" + 

      (currentDate.getMonth() + 1) + "月" + 

      currentDate.getDate() + "日" + " " + 

      weekday[currentDate.getDay()]

      );

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

  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>


正在回答

1 回答

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

↑  声明一个长的字符串

  var sourceArr = sorceStr.split(";");

↑ 通过字符‘;’把长字符串分割成一个数组,此时sourceArr=["小明:87","小花:81","小红:97","小天:76","小张:74","小小:94","小西:90","小伍:76","小迪:64","小曼:76"]   所以sourceArr[0]=小明:87;sourceArr[1]=小花:81......一次类推

  var score = new Array();

   var sum = 0;

↑ 声明一个数组和一个number

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

       sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));

       //document.write("<br>" + sum);//test

   }

↑for循环,长度是数组的长度; sourceArr[i].indexOf(":")+1,获取数字在'小迪:64'的起始位置,例如: 出现的位置是3,则+1,获取从4开始的字符,所以可以获得字符串'64'; 

sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));先把同学的成绩从字符串转化为数字,再获取每个同学的成绩并相加

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

↑  此时的sum是同学的成绩总和

  document.write(",班级平均分为(保留整数):" + Math.round(sum/sourceArr.length))

↑  sourceArr.length是数组的个数也是同学的个数,平均数也就等于成绩总和/同学的个数


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

举报

0/150
提交
取消

JS进阶篇 7-23编程练习,下面下划线部分都不太明白啊!!感谢大神!

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