成績輸出為NAN,有人幫我看看哪錯了嗎?
var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
?
? var chengji=scoreStr.split(";");
? var shuchu=0;
? var pingjun=0;
? for(var i =0;i<chengji.length;i++){
? ? ? var index = chengji[i].indexOf(':');
? ? ? sum += parseInt (chengji[i].substr(index+1,2));
? ? ?
? }
? ?shuchu=sum/chengji.length;
? ? ? pingjun=Math.round(shuchu);
? ?document.write("--班級總分為:"+pingjun);
2018-03-28
只需要在for上面加一句 ?var sum=0 ?就可以啦 ?
2018-03-28
var index = chengji[i].indexOf(':');中的indexOf改成split,
然后把sum += parseInt (chengji[i].substr(index+1,2));
這句話改成sum+=parseInt(index[1]);
這樣應該就對了
附上我自己的代碼
//成績是一長竄的字符串不好處理,找規(guī)律后分割放到數組里更好操作哦
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
??? var sc = scoreStr.split(";");//將字符串分割放在數組內。
?
??? a=sc.length;//數組sc的長度
??? var sum=0;//初始化sum
? //從數組中將成績撮出來,然后求和取整,并輸出。
? for(i=0;i<a;i++)
? {
????? var sc1 = sc[i].split(":");//將每個人的姓名和成績單獨存在一個數組
????? sum=sum+parseInt(sc1[1]);?? //累加出總分
? }
?
? document.write("平均分為:"+(sum/a));//打印出平均分
2018-03-28
可以用的,以下是你的代碼。 sum函數指的是返回某一單元格區(qū)域中數字、邏輯值及數字的文本表達式之和。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? var chengji=scoreStr.split(";");
? var shuchu=0;
? var sum=0;//pingjun修改為sum
? for(var i =0;i<chengji.length;i++){
? ? ? var index = chengji[i].indexOf(':');
? ? ? sum += parseInt (chengji[i].substr(index+1,2));
? }
? ?shuchu=sum/chengji.length;
? ?sum=Math.round(shuchu);//pingjun修改為sum
? ?document.write("--班級總分為:"+sum);//pingjun修改為sum
</script>
</body>
</html>
完全可以用- -
2018-03-27
很簡單?你把pingjun重新定義為sum就可以用了