javaScript內(nèi)置對(duì)象編程練習(xí),誰(shuí)能幫我分析一下其他同學(xué)的代碼,看不懂,唉。
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
?
var arr=scoreStr.split(";");
var sum=0;
for(var i=0;i<arr.length;i++){
sum+=parseInt(arr[i].substr(3));
}
var av=Math.floor(sum/arr.length);
document.write("--班級(jí)總分為:"+av);
2016-07-28
? var arr=scoreStr.split(";");
? //把字符串scoreStr按照‘;’分割符號(hào)進(jìn)行分割,分割后的數(shù)組放到變量arr中,得到
? //[[小明:87],[小花:81],[小紅:97],[小天:76],[小張:74],[小小:94],[小西:90],[小伍:76],[小迪:64],[小曼:76]]
? var sum=0;
? for(var i=0;i<arr.length;i++){ ?//循環(huán)遍歷輸入arr
? ? ? sum+=parseInt(arr[i].substr(3)); ?
?//從數(shù)組中的每一個(gè)字符串提取索引3位置及后面的內(nèi)容,并將提取的內(nèi)容轉(zhuǎn)換成數(shù)字,并進(jìn)行加賦值
?//arr[0]=[小明:87],經(jīng)過substr(3)提取出87,在經(jīng)過parseInt()轉(zhuǎn)換成整數(shù)的87
? ?}
var av=Math.floor(sum/arr.length);
//求出平均值
document.write("--班級(jí)總分為:"+av);
2016-07-28
這個(gè)代碼應(yīng)該是求平均分吧。。PS(我也是新手,大概解釋一下,如果有不恰當(dāng)?shù)?,?qǐng)指出)
首先split把scoreStr字符串按照;號(hào)分割成一個(gè)數(shù)組,并讓arr指向這個(gè)數(shù)組,因此arr也代表的是這個(gè)數(shù)組;用for循環(huán)遍歷這個(gè)數(shù)組,arr[i].substr(3)表示刪除數(shù)組中每個(gè)字符串的前3位啊,就得到分?jǐn)?shù)的字符串,再用parseInt強(qiáng)制轉(zhuǎn)換成數(shù)字累加得到總的成績(jī);最后調(diào)用全局函數(shù)求得平均分。