課程
/前端開發(fā)
/JavaScript
/JavaScript進階篇
有沒有考滿分的情況 也就是三位數(shù)的時候??
2016-01-19
源自:JavaScript進階篇 7-23
正在回答
跟多少位數(shù)沒關(guān)系,你像這樣分隔
var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var?scoreA?=?scoreStr.split(';'); var?sum?=?0; for(var?i?=?scoreA.length;?i--;){ sum?+=?Number(scoreA[i].split(':')[1]); } console.log(sum);
xiaohuohuo 提問者
呃....受教了,謝~現(xiàn)在的語法應該使用..>
想了下。用sub提取不如用split二次分割“:”。取第二個字符串轉(zhuǎn)化成整數(shù)來寫。
不論是.substr()h還是.substring()都可以從第三位開始提取成績,后面的范圍可以不填,默認到底。
使用提取出來的不論是2位數(shù)還是3位數(shù)。全部加起來除以.length數(shù)組長度。然后.floor()向下取整。得到平均值
我覺得分數(shù)三位數(shù)沒什么。怕名字超過2位數(shù)啊。代碼還需要相應調(diào)整。
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";? var myarr = scoreStr.split(";"); ? document.write(myarr[0]+"<br/>");//驗證是否分割正確? var sum=0,avg=0;???????????????????????????? //初始化變量
? // 第一版本:不夠靈活的方法,遇到分數(shù)為3位數(shù)的情況下會計算錯誤
? /*for(var i=0;i<myarr.length;i++)? {????? sum=sum+ parseInt(myarr[i][3])*10 + parseInt(myarr[i][4]);?? ?? avg=Math.round(sum/myarr.length);? }*/
? //第二版本,不管分數(shù)有幾位都可以計算,不會出錯?? for(var i=0;i<myarr.length;i++)? { ??? sum=sum+ parseInt(myarr[i].substring(myarr[0].indexOf(":")+1)+"<br>");?? ?avg=Math.round(sum/myarr.length);?? }?? document.writeln(sum+"<br/>")?? document.writeln(avg+"<br/>")
舉報
本課程從如何插入JS代碼開始,帶您進入網(wǎng)頁動態(tài)交互世界
4 回答函數(shù)定義的時候有參數(shù),調(diào)用的時候沒有傳參數(shù),會是什么情況?
1 回答什么時候會有這種情況?
2 回答用的floor函數(shù)卻有10的情況
5 回答為什么有的時候是從0開始數(shù),有的時候又不是?
1 回答怎么不加下面類似的代碼 時分秒為個位數(shù)的時候 前面還是有個0?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-01-19
跟多少位數(shù)沒關(guān)系,你像這樣分隔
2022-03-25
呃....受教了,謝~現(xiàn)在的語法應該使用..>
2016-01-28
想了下。用sub提取不如用split二次分割“:”。取第二個字符串轉(zhuǎn)化成整數(shù)來寫。
2016-01-28
不論是.substr()h還是.substring()都可以從第三位開始提取成績,后面的范圍可以不填,默認到底。
使用提取出來的不論是2位數(shù)還是3位數(shù)。全部加起來除以.length數(shù)組長度。然后.floor()向下取整。得到平均值
我覺得分數(shù)三位數(shù)沒什么。怕名字超過2位數(shù)啊。代碼還需要相應調(diào)整。
2016-01-21
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? var myarr = scoreStr.split(";");
? document.write(myarr[0]+"<br/>");//驗證是否分割正確
? var sum=0,avg=0;???????????????????????????? //初始化變量
? // 第一版本:不夠靈活的方法,遇到分數(shù)為3位數(shù)的情況下會計算錯誤
? /*for(var i=0;i<myarr.length;i++)? {
????? sum=sum+ parseInt(myarr[i][3])*10 + parseInt(myarr[i][4]);
?? ?? avg=Math.round(sum/myarr.length);
? }*/
? //第二版本,不管分數(shù)有幾位都可以計算,不會出錯
?? for(var i=0;i<myarr.length;i++)
? {
??? sum=sum+ parseInt(myarr[i].substring(myarr[0].indexOf(":")+1)+"<br>");
?? ?avg=Math.round(sum/myarr.length);
?? }
?? document.writeln(sum+"<br/>")
?? document.writeln(avg+"<br/>")