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

有没有比这个更简单的方法,感觉用了两个数组,开销很大

<!DOCTYPE  HTML>

<html >

<head>

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

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


<script type="text/javascript">


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

var dt=new Date();

var day=new Array("一","二","三","四","五","六","日");

document.write(dt.getFullYear()+"年"+dt.getMonth()+"月"+dt.getDate()+"日 星期"+day[dt.getDay()-1]);

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

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

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

var score = new Array();

var sum = 0;

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

score[i] = scores[i].split(":");

sum += parseInt(score[i][1]);

}

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

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

</script>

</head>

<body>

</body>

</html>


提问者:御风行云的微博 2017-03-09 17:31

个回答

  • disabled
    2017-03-27 10:06:25

      var myarr = scoreStr.split(':');

      var mynum = 0;

      for (i=myarr.length-1;i>0;i--){

          mynum += parseInt(myarr[i]);

      }

      document.write(mynum);


  • 好生气哦
    2017-03-10 10:35:27

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

        

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

        

        var sum=0;

        for(var i=0;i<10;i++){

            var s=a[i].split(":");

            sum+=parseInt(s[1]);

        }

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


  • 慕斯5209270
    2017-03-10 09:38:21

    var thisDate = new Date();


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

    var arr = new Array();

    arr = scoreStr.split(";");


    var Socre = 0;//总分

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

    arr[i] = arr[i].substring(arr[i].indexOf(":")+ 1) * 1;


    Socre = Socre + arr[i];

    }


    var average = Math.round(Socre / arr.length);


    document.write(thisDate.getFullYear() + "年" + (thisDate.getMonth() + 1) +"月" + thisDate.getDate() + "日" +"  星期" + thisDate.getDay() +"--班级平均分为:" + average);