<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
var riqi=new Date();
document.write(riqi);
//通过javascript的日期对象来得到当前的日期,并输出。
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var pingjun=[小明:87,小花:81,小红:97,小天:76,小张:74,小小:94,小西:90,小伍:76,小迪:64,小曼:76];
for(i=0;i<10;i++)
{
sum=0
sum= parseInt(pingjun[i].substring(3,5)) + sum;
}
document.write(Math.round(sum/10)); //sum/pingjun.length
//从数组中将成绩撮出来,然后求和取整,并输出。
</script>
</head>
<body>
</body>
</html>
代码存在如下问题:
1、数组写法出现问题,pingjun数组中,各项存储的是字符串,而非数值,所以需要加双引号或单引号,如下
var pingjun=['小明:87','小花:81','小红:97','小天:76','小张:74','小小:94','小西:90','小伍:76','小迪:64','小曼:76'];
2、sum值的初始化,即sum=0这条语句应该放在for循环体外,不然每次运行都会将其重新赋值为0,如下(另外,sum最好先定义再使用)
var sum=0; console.log(pingjun[0].substring(3,5)); for(i=0;i<10;i++) { sum = parseInt(pingjun[i].substring(3,5)) + sum; }
3、题目给出的数据比较特殊,所有人的姓名都为两个字,所以你这么写也可以得到结果,但是最好是使用分割功能,以“:”作为分割,获得成绩
var sum=0; for(i=0;i<10;i++) { sum = parseInt(pingjun[i].split(':')[1]) + sum; }
注:本题要求对获得的日期进行规范化,贴一下代码给你作为参考吧
var Udate = new Date(); var weeks = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'] var Ndate = Udate.getFullYear()+'年'+Udate.getMonth()+'月'+Udate.getDate()+'日'+' '+weeks[Udate.getDay()];
是不是sum没声明
问题1一个变量的值不是应该在[]里吗,为什么别人答案是在""里2就算我换成""了也没有结果