Just90
2016-02-01 16:01
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
var mydate=new Date();//通过javascript的日期对象来得到当前的日期,并输出。
var myyear=mydate.getFullYear();
var mymonth=mydate.getMonth();
var myday=mydate.getDate();
var mynum=mydate.getDay();
var myweek=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(myyear+"年"+mymonth+"月"+myday+"日"+" "+myweek[mynum]+"<br>");
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var myarr=new Array();
myarr=scoreStr.split(";");
document.write(myarr+"<br>");
var sum=0;
for(var i=0;i<myarr.length;i++){
sum=sum+parseInt(myarr[i].substr(3,2));
}//从数组中将成绩撮出来,然后求和取整,并输出。
document.write(Math.ceil(sum)+"<br>");
var aver=Math.round(sum/myarr.length);
document.write(aver);
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>系好安全带,准备启航</title> <script type="text/javascript"> //计算平均分数 function getAverage(sumNum,aCount){ return sumNum/aCount; } //计算分数的总和 function getSumByArr(arr){ var ret = 0; for(var i=0;i<arr.length;i++){ var obj = arr[i].split(":")[1]; ret = ret + parseInt(obj); } return ret; } var mydate=new Date();//通过javascript的日期对象来得到当前的日期,并输出。 var myyear=mydate.getFullYear(); var mymonth=mydate.getMonth(); var myday=mydate.getDate(); var mynum=mydate.getDay(); var myweek=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; document.write(myyear+"年"+mymonth+"月"+myday+"日"+" "+myweek[mynum]+"<br>"); //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var scoreArr = scoreStr.split(";"); //从数组中将成绩撮出来,然后求和取整,并输出。 var sumObj = getSumByArr(scoerArr); document.write(getAverage(sumObj,scoreArr.length)); </script> </head> <body> </body> </html>
我是这样写的 感觉把一些代码拆成一个个函数,这样思路会比较清晰
<!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 myyear = mydate.getFullYear(); //年 var mymonth = mydate.getMonth() + 1; //月 var myday = mydate.getDate(); //日 var myweek = mydate.getDay(); //星期 var myweek2 = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; document.write(myyear + "年" + mymonth + "月" + myday + "日 " + myweek2[myweek]); //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var personInfo = scoreStr.split(";"); //document.write(personInfo+"<br>"); //从数组中将成绩撮出来,然后求和取整,并输出。 var sum=0; for(var n = 0; n < personInfo.length; n++){ var personScore; personScore = parseInt(personInfo[n].substr(personInfo[n].indexOf(":")+1)); sum += personScore; } var aver = Math.round(sum/personInfo.length); document.write("--平均分是:" + aver); </script> </head> <body> </body> </html>
嗯,有点遗憾,有几处错误,sum要在循环外面赋值,在for里面赋值会导致每次循环都归零的;
是(personInfo[n].indexOf.()+1),整体加1,你那样写是没有含义的
personScore初始不是一个数组,而是每次循环得到个人分数(函数内的中间变量),不能加【n】,在你这里只是起到传递分数值给sum的作用
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题