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进阶篇
469062 学习 · 22582 问题
相似问题