關于此題中數(shù)組寫法問題等
1、此題中將成績分離后,為什么不可以再分離一次。
比如var score1=score0.split(”;“);
? ? ? ?var score2=score1.split(”:“);
2、此題中將成績分離后,在計算中定義數(shù)組時,直接寫成?
比如var score1=score0.split(”;“)
? ? ? ?for{。。。。。;score1[i]。。。}
為什么可以這樣寫?
1、此題中將成績分離后,為什么不可以再分離一次。
比如var score1=score0.split(”;“);
? ? ? ?var score2=score1.split(”:“);
2、此題中將成績分離后,在計算中定義數(shù)組時,直接寫成?
比如var score1=score0.split(”;“)
? ? ? ?for{。。。。。;score1[i]。。。}
為什么可以這樣寫?
2016-06-23
舉報
2016-06-23
第一次根據(jù)分號分離后,score1已經(jīng)成了數(shù)組,第二次再根據(jù)冒號分離時,要寫成在i循環(huán)里,score1[i].split(":"),即針對score1數(shù)組里面的每一個元素根據(jù)冒號分離。
我一開始也沒明白這個,然后就換了一個思路寫的代碼,你可以參考一下。
<script type="text/javascript">
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var j=0;
var grade=new Array();
for(i=0;i<scoreStr.length-4;i++){//防止最后一名同學是100分
? if(scoreStr.charAt(i)==":"){
? ? ? var m=scoreStr.indexOf(";",i);
? ? ?grade[j]=scoreStr.substring(i+1,m);
? ? ?j++;
? }
}
grade[j]=scoreStr.substring(scoreStr.indexOf(":",i)+1);//因為最后一個分數(shù)沒有分號,所以需要單獨添加進數(shù)組
? //從數(shù)組中將成績撮出來,然后求和取整,并輸出。
? var sum=0;
? for(x in grade){
? ? ? sum=sum+parseInt(grade[x]);
? }
? document.write(date.getFullYear()+"年"+date.getMonth()+"月"+date.getDate()+"日 "+week[date.getDay()]+"--班級總分為"+sum+" 班級平均分為"+Math.round(sum/grade.length));
</script>