<!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(); var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; document.write( mydate.getFullYear()+"年"+ (mydate.getMonth()+1)+"月"+ mydate.getDate()+"日"+" "+ weekday[mydate.getDay()]); //通过javascript的日期对象来得到当前的日期,并输出。 //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var score= scoreStr.split(";"); var score="小明:87,小花:81,小红:97,小天:76,小张:74,小小:94,小西:90,小伍:76,小迪:64,小曼:76 "; var score1=new Array(); var score1=score.split(":"); var sum=0; for (var i=1;i<=score1.length;i=i+2){ sum+=parseInt(score1[i]); } //从数组中将成绩撮出来,然后求和取整,并输出。 document.write(sum); </script> </head> <body> </body> </html>
你的:
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var score= scoreStr.split(";");
var score="小明:87,小花:81,小红:97,小天:76,小张:74,小小:94,小西:90,小伍:76,小迪:64,小曼:76 ";
var score1=new Array();
var score1=score.split(":");
var sum=0;
for (var i=1;i<=score1.length;i=i+2){
sum+=parseInt(score1[i]);
}
该成:
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
//从数组中将成绩撮出来,然后求和取整,并输出。
var score=scoreStr.split(";");
var score1=new Array();
var sum=0;
for(var i=0;i<score.length;i++)
{
var score2=score[i].split(":");
score1[i]=score2[1];
}
for(var j=0;j<score1.length;j++)
{
sum+=parseInt(score1[j]);
}
有两个问题,第一
var score= scoreStr.split(";");
var score="小明:87,小花:81,小红:97,小天:76,小张:74,小小:94,小西:90,小伍:76,小迪:64,小曼:76 ";
这两个连在一起,第一条结果被覆盖掉,所以第一条没什么用了
第二
var score1=score.split(":");
如果上面第一条没用,在以符号":"分隔时,分隔后变成:
小明
87,小花
81,小红
,97,小天
76,小张
74,小小
94,小西
90,小伍
76,小迪
64,小曼
76
所以后面的会错
可以改成:
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var score= scoreStr.split(";");
var score2 = "";
for(var i=0;i<score.length;i++){
score2 = score2 + score[i] + ":" ;
}
var score1=new Array();
var score1=score2.split(":");
for(var i=0;i<score1.length;i++){
document.write(score1[i]+"<br>");
}
var sum=0;
for (var i=1;i<score1.length;i=i+2){ //这里把<=改为<
sum+=parseInt(score1[i]);
}
//从数组中将成绩撮出来,然后求和取整,并输出。
document.write(sum/score1.length*2);