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