看过来看过来

来源:7-23 编程练习

WenaoTime

2020-10-30 10:41

<!DOCTYPE  HTML>

<html >

<head>

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

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


<script type="text/javascript">


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

  var mydate = new Date();

  var mynum = mydate.getDay();

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

  var year = mydate.getFullYear();

  var month = mydate.getMonth() + 1;

  var day = mydate.getDate();

 document.write("今天是:"+ year + "年" + month + "月" + day + "日" + weekday[mynum] + "<br>");


  

  

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

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

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

var sum = 0 ;

var aver = 0;



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

  

  function add(){

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

      {

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

          aver = sum / i;

      }

      return aver;

  }

  document.write("班级的平均分是:" + Math.round(add()));

  



</script>

</head>

<body>

</body>

</html>


写回答 关注

5回答

  • iMoocLiuMing
    2021-02-19 15:27:53

    arr[i].substr(3,2)

    上面这样截取一定会出问题,无法用于实际开发,你这个只适用于小明、小红这类两个字的名字,只要超过两个字或者小于两个字,算出来的结果就不对了

  • 樱雪_sakura
    2020-12-15 16:42:02
    const scoreStr = '小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76';
    const week = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六',];
    const handler = str => {        
        let data = str.split(';').map(val => val.split(':')[1]).map(val => +val)        
        return parseInt(data.reduce((prev, acc) => prev + acc) / data.length)  
    }    
    let date = new Date()    
    console.log(`${date.getFullYear()}年${date.getMonth() + 1}月${date.getDate()} ${week[date.getDay()]}--班级总分为:${handler(scoreStr)}`)


  • 沐沐3381925
    2020-11-29 00:25:48
    来呀来呀!
    <script type="text/javascript">
    var weekday =["星期日","星期一","星期二","星期三","星期四","星期五","星期六",];
    var nowdate =new Date();
    var day =nowdate.getDate();
    var w   =nowdate.getDay();
    var wday=weekday[w];
    var mon =nowdate.getMonth();
    var year=nowdate.getFullYear();  
    //通过javascript的日期对象来得到当前的日期,并输出。 
    document.write(year+"年"+mon+"月"+day+"日"+"&nbsp;&nbsp;"+wday+"--班级总分为:")   
    //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好 
    //从数组中将成绩撮出来,然后求和取整,并输出。
    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
    var f = scoreStr.split(";");
    var k=0,sum=0;
    var s; 
    while (k<f.length){
        s=f[k].split(":");    
        k++;    
        sum+=parseInt(s[s.length-1]);
        }    
    document.write(sum/f.length);
    </script>


  • 倾心__
    2020-11-17 12:35:20

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

          {

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

              aver = sum / a.length;

          }

          return aver;

      }

    如果 aver = sum / i;    根据判断条件,这时候i=9, 正确应该是10

  • 走心5102428
    2020-11-02 14:27:05

    nice!

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题