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>
arr[i].substr(3,2)
上面这样截取一定会出问题,无法用于实际开发,你这个只适用于小明、小红这类两个字的名字,只要超过两个字或者小于两个字,算出来的结果就不对了
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)}`)
来呀来呀! <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+"日"+" "+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>
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
nice!
JavaScript进阶篇
468192 学习 · 21891 问题
相似问题