分割字符串得到個(gè)人數(shù)據(jù)的數(shù)組,提取子字符串轉(zhuǎn)化為整數(shù),求出平均數(shù)。無法正確實(shí)現(xiàn)?
<html >
?<head>
? ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
? ?<title>系好安全帶,準(zhǔn)備啟航</title>
? ?<script type="text/javascript">
? ? ?//通過javascript的日期對象來得到當(dāng)前的日期,并輸出。
? ? ?var mydate = new Date();
? var myyear = mydate.getFullYear(); ?//年
? var mymonth = mydate.getMonth() + 1; ?//月
? var myday = mydate.getDate(); ?//日
? var myweek = mydate.getDay(); ?//星期
? ? ?var myweek2 = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
? document.write(myyear + "年" + mymonth + "月" + myday + "日 " + myweek2[myweek]);
?
? ? ?//成績是一長竄的字符串不好處理,找規(guī)律后分割放到數(shù)組里更好操作哦
? ? ?var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? ? ?var personInfo = scoreStr.split(";"); ? ?
? ? ?
? ? ?//從數(shù)組中將成績撮出來,然后求和取整,并輸出。
? ? ?for(var n = 0; n < personInfo.length; n++){
var personScore, sum=0;
personScore = parseInt(personInfo[n].substring(personInfo[n].(indexOf(":")+1)));
sum += personScore[n];
? }
? var aver = Math.round(sum/personInfo.length);
?document.write("--平均分是:" + aver);
? ?</script>
?</head>
?<body>
</body>
</html>
2016-02-01
<!DOCTYPE ?HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全帶,準(zhǔn)備啟航</title>
<script type="text/javascript">
?var mydate=new Date();//通過javascript的日期對象來得到當(dāng)前的日期,并輸出。
? var myyear=mydate.getFullYear();
? var mymonth=mydate.getMonth();
? var myday=mydate.getDate();
? var mynum=mydate.getDay();
? var myweek=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
? document.write(myyear+"年"+mymonth+"月"+myday+"日"+" "+myweek[mynum]+"<br>");
??
? //成績是一長竄的字符串不好處理,找規(guī)律后分割放到數(shù)組里更好操作哦
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? var myarr=new Array();
? myarr=scoreStr.split(";");
? document.write(myarr+"<br>");
? var sum=0;
? for(var i=0;i<myarr.length;i++){
? sum=sum+parseInt(myarr[i].substr(3,2));
? }//從數(shù)組中將成績撮出來,然后求和取整,并輸出。
? document.write(Math.ceil(sum)+"<br>");
? var aver=Math.round(sum/myarr.length);
? document.write(aver);
</script>
</head>
<body>
</body>
</html>
2016-02-01
我是這樣寫的 感覺把一些代碼拆成一個(gè)個(gè)函數(shù),這樣思路會比較清晰
2016-02-01
嗯,有點(diǎn)遺憾,有幾處錯(cuò)誤,sum要在循環(huán)外面賦值,在for里面賦值會導(dǎo)致每次循環(huán)都?xì)w零的;
是(personInfo[n].indexOf.()+1),整體加1,你那樣寫是沒有含義的
personScore初始不是一個(gè)數(shù)組,而是每次循環(huán)得到個(gè)人分?jǐn)?shù)(函數(shù)內(nèi)的中間變量),不能加【n】,在你這里只是起到傳遞分?jǐn)?shù)值給sum的作用