亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

會算了,結果81.5

<!DOCTYPE? HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全帶,準備啟航</title>


<script type="text/javascript">


//通過javascript的日期對象來得到當前的日期,并輸出。

var d=new Date();

var week=new Array("天","一","二","三","四","五","六");

var time=d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"+" 星期"+week[d.getDay()];

document.write(time);


//成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦

var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

//提取出字符串中數字,并存到一個數組里

var fenshu=new Array();

for(var i=3;i<scoreStr.length;i=i+6){

fenshu.push(scoreStr.slice(i,i+2));

}


//將所有分數的結果相加

var zongfen=0;

for(var i=0;i<fenshu.length;i++){

zongfen=parseInt(fenshu[i])+zongfen;

}

document.write("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp-- 平均分是:"+zongfen/fenshu.length+"</br>");

</script>

</head>

<body>

</body>

</html>


正在回答

3 回答

81.5


0 回復 有任何疑惑可以回復我~

這一段拿出來講,我的目的想把所有的分數提取出來放在一個叫fenshu的數組里面,

怎么提取呢?上面的scoreStr是原始字符串,里面有文字、符號、數字,

scoreStr.slice(i, i + 2)這里用到了一個.slice()方法,作用是截取i到i+2之間的字符串出來,上面定義了i初始值=3,那就是從"小明:87;小花:81;小紅:97……中的第四個,因為是從0開始算的,0是小,1是明,2是:,3是8,4是7,5是;

scoreStr.slice(i, i + 2)第一次運行是scoreStr.slice(3,5),即從字符串中提取出第3位至第5位(不含第5位),也就是小明的成績87,通過.push()方法把這個值加入到數組fenshu

然后是i=i+6;為什么是i+6呢,是因為小明:87;小花:81;小紅:97中,87的8是第3,81的8是第9,97的9是第15,即第一次截取字符串是截?。?,3+2),第二次是(9,9+2),第三次是(15,15+2)……

通過for循環來依次從scoreStr中把成績提取出來放進fenshu這個數組

到最后fenshu=[87,81,97,76,74,94,90,76,64,76]


然后后面又通過一個for循環把分數依次相加得出了總分

var zongfen=0;


for(var i=0;i<fenshu.length;i++){


zongfen=parseInt(fenshu[i])+zongfen;


}


最后總分再除以分數這個數組的長度fenshu.length就是平均分了


2 回復 有任何疑惑可以回復我~
#1

金剛無敵葫蘆娃 提問者

字符串順序那里寫錯了……87的8索引是第4不是第三……注意從0開始,我搞錯了
2020-04-03 回復 有任何疑惑可以回復我~
#2

金剛無敵葫蘆娃 提問者

scoreStr.slice(i, i + 2)第一次運行是scoreStr.slice(3,5),即從字符串中提取出第4位至第6位(不含第6位)
2020-04-03 回復 有任何疑惑可以回復我~

for(var i=3;i<scoreStr.length;i=i+6){

后面這兩段代碼沒有搞清楚,i=3,i為什么會等于3?不解,后面這兩段代碼能否給說明一下,什么意思,謝謝

0 回復 有任何疑惑可以回復我~
#1

金剛無敵葫蘆娃 提問者

var fenshu = new Array(); for (var i = 3; i < scoreStr.length; i = i + 6) { fenshu.push(scoreStr.slice(i, i + 2)); }
2020-04-03 回復 有任何疑惑可以回復我~
#2

金剛無敵葫蘆娃 提問者

這一段拿出來講,我的目的想把所有的分數提取出來放在一個叫fenshu的數組里面, 怎么提取呢?上面的scoreStr是原始字符串,里面有文字、符號、數字, scoreStr.slice(i, i + 2)這里用到了一個.slice()方法,作用是截取i到i+2之間的字符串出來,上面定義了i初始值=3,那就是從"小明:87;小花:81;小紅:97……中的第四個,因為是從0開始算的,0是小,1是明,2是:,3是8,4是7,5是;
2020-04-03 回復 有任何疑惑可以回復我~
#3

金剛無敵葫蘆娃 提問者

scoreStr.slice(i, i + 2)第一次運行是scoreStr.slice(3,5),即從字符串中提取出第3位至第5位(不含第5位),也就是小明的成績87,通過.push()方法把這個值加入到數組fenshu
2020-04-03 回復 有任何疑惑可以回復我~
#4

金剛無敵葫蘆娃 提問者

回復不出來,你看下面吧,我單獨回復一條
2020-04-03 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

會算了,結果81.5

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號