问答详情
源自:7-23 编程练习

怎么打印出来的月份是0月2日?还有那个for循环撮字符串还不是好懂,求大神!!谢谢

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">

   var day = new Date();

   var week = ["日","一","二","三","四","五","六",];

   document.write(day.getFullYear()+"年"+day.getMonth()+"月"+day.getDay()+"日"+"星期"+week[day.getDay()]);


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

  

  


  

  

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

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

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

  var zfStr=new Array();

  var sum=0;

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

      zfStr[i]=pjStr[i].split(":").slice(1);

      sum = sum+parseInt(zfStr[i]);

      }

      var avg=Math.round(sum/pjStr.length);

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

 



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


提问者:执念如临刀尖 2016-01-05 18:03

个回答

  • ppo_YXWU
    2016-01-05 18:19:24
    已采纳

    getMonth()得到的值是0~11;对应1月到12月;day.getDay()+"日"这里getDay()是获得星期几的,要用getDate()才是多少日。

    下面for循环那:

    scoreStr.split(";");这是首先把scoreStr字符串按;号分割成数组赋给pjStr,分割成:小明:87  小花:81 等

    然后用for循环遍历pjStr;再把元素按:号分割成数组,分割成['小明','87']

    然后slice(1)获得数组index>1的值,在这就是获得后面的数字,就是获得分数,然后累加。


  • 花时间想名字
    2016-01-05 18:23:39

    getMouth返回的是一个数字,0-11,所以要加以处理。

    下面是把scroeStr分割成字符,再单独提取到另外一个数组处理