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

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

這種寫法為什么不能獲取全部從字符串中數值

var?scors=new?Array();??var?sum=0;??document.write(scoreStr.length);??for(i=0;i<(scoreStr.length*10/6);i++){??????scors[i]=scoreStr.substr(3,2);??????scoreStr=scoreStr.substring(6,scoreStr.length-1)??????document.write(scors[i]+"<br/>");??????sum=sum+parseInt(scors[i]);


正在回答

3 回答

https://img1.sycdn.imooc.com//5b71980a00013b7d04210257.jpg

....

https://img1.sycdn.imooc.com//5b7198170001a8ce02920239.jpg

為什么要scoreStr.length*10/6,有很多步驟跟我的思維完全不一樣,我測試了以下你的程序,感覺怪怪的,尤其是循環長度的問題

正常思維:截取每個數字,轉化然后加起來

問下你可以注釋一下你的代碼?讓我好理解下

var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var?scors?=?new?Array();
var?sum?=?0;
document.write(scoreStr.length?+?"<br/>");
//說明有十組數,十個成績
var?len?=?(scoreStr.length+1)?/?6;
var?num?=?0;
for?(var?i?=?0;?i?<?len;?i++)?{
????//截取每個成績,轉化加起來
????sum?+=?parseInt(scoreStr.substr(3+num,?2));
????//跟隨規律,每次都跳轉到數字的那個下標
???num?+=?6;
}
//從數組中將成績撮出來,然后求和取整,并輸出。
document.write(weekDay[myDate.getDay()]?+?"--班級總分為:"?+?sum);


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

Adongy 提問者

我最開始寫的時候就是scoreStr.length+1) / 6,但是我發現不能完全輸出了所以結果,試著加倍長度,發現倍數越多輸出的結果也就越多,當我試著加到一定倍數的時候,結果就不再多了,實際上還有幾個不能輸出,加再多倍數都沒有用
2018-08-13 回復 有任何疑惑可以回復我~
#2

萬般浮云 回復 Adongy 提問者

不能輸出結果應該是某一步錯了(有些時候的確難找,斷點找問題),你用用我這個看,應該是可以的
2018-08-14 回復 有任何疑惑可以回復我~
#3

Adongy 提問者 回復 萬般浮云

阿里嘎多
2018-08-14 回復 有任何疑惑可以回復我~

給個參考:

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

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

?

? var ss=scoreStr.split(";");

? var ss2=new Array();

? var sum=0;

? // document.write(ss);

for(var i in ss){

? ?

? ? ss2[i]=parseInt(ss[i].substr(3));

? ? sum=sum+ss2[i];

}

? //從數組中將成績撮出來,然后求和取整,并輸出。

??

document.write("班級總分為:"+parseInt(sum/10));


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

思維不一樣:scoreStr.length*10/6;給個參考:

var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var?scoreArray?=?scoreStr.split(";");
var?sum?=?0;
for?(var?x?in?scoreArray)?{
????sum?+=?parseInt(scoreArray[x].substr((scoreArray[x].indexOf(":")?+?1),?2));
}
//從數組中將成績撮出來,然后求和取整,并輸出。
document.write(weekDay[myDate.getDay()]?+?"--班級總分為:"?+?sum);


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

Adongy 提問者

我知道這種方法,還是很謝謝你的。我這種寫法可以提出出來部分成績,但是還剩幾個就提取不出來了。請教一下老師如何改進我這種寫法?
2018-08-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這種寫法為什么不能獲取全部從字符串中數值

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

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

幫助反饋 APP下載

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

公眾號

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