成績提取代碼,求指點(diǎn)
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? var score=new Array();
?var score=parseInt(scoreStr.substr(scoreStr.indexOf(":")+1,2));
?var n=score.length;
?for(var j=0;j<n;j++)
?{ var sum=0;
?sum=sum+score[j];
?document.write(score[j]);}
?document.write(sum/n);
不出成績,求大神指點(diǎn)錯(cuò)在哪里
2016-05-11
indexOf() 返回的是首次出現(xiàn)的位置,所以你scoreStr.substr(scoreStr.indexOf(":")只不過是一個(gè)固定值,并不是你想象的取了所有的“:”所在的后面的值,并且生成了列表。
我修改了你的代碼:
var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var arrStr = scoreStr.split(";")
var score=new Array();
for( var i = 0; i < arrStr.length; i++){
score[i] = parseInt(arrStr[i].substr(scoreStr.indexOf(":")+1,2));
}
var n=score.length;
var sum=0;
for(var j=0;j<n;j++){?
sum=sum+score[j];
document.write(score[j]+"<br />");
}
document.write(sum/n);
2016-05-11
script type="text/javascript">
? //通過javascript的日期對象來得到當(dāng)前的日期,并輸出。
? var a=new Date();
? var b=['一月','二月','三月','四月','5月'];
? var c=['星期一','星期二','星期三','星期四'];
? document.write(a.getFullYear()+'年'+b[a.getMonth()]+a.getDate()+'日'+c[a.getDay()]);
??
??
??
? //成績是一長竄的字符串不好處理,找規(guī)律后分割放到數(shù)組里更好操作哦
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? var d=new Array();
? d=scoreStr.split(';');
? var e=new Array();
? var sum=0;
? for(i=0;i<d.length;i++){
? e[i]=d[i].substr(3,4);
? sum=sum+parseInt(e[i]);
? }
? document.write(sum/d.length);
?
? //從數(shù)組中將成績撮出來,然后求和取整,并輸出。
??
2016-05-11
你這個(gè)第三行,后邊indexOf(":")只是返回出現(xiàn):的位置,應(yīng)該會返回一串越來越大的數(shù)字,因?yàn)檫@個(gè)數(shù)組里邊就一大項(xiàng),可先用split()將不同名字的人分割出來返回出一個(gè)數(shù)組。
2016-05-11
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? var arrStr = new Array();
? arrStr = scoreStr.split(";");
? var sum = 0;
? for( var i = 0; i < arrStr.length; i++){
? ? sum = sum + parseInt(arrStr[i].substring(3));
? }