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

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

for循環中sum賦值為什么不直接寫成sum += parseInt(sourceArr[i].substr(3));

sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));

可以替換成sum += parseInt(sourceArr[i].substr(3)); ?結果是正常呢

這樣有什么不好的地方嗎?

正在回答

3 回答

我覺得在確保名字長度一定為2的情況下,是可以這樣的。標記為黑的答案對于這道題來說是對的,但是換成名字長度小于或者大于2的情況下,則會出錯。健壯性沒有前面的好。自己看法,歡迎討論。

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

Arthraxon

贊同,如果名字換成“小小明”就出BUG了。
2016-07-06 回復 有任何疑惑可以回復我~
#2

Willsf 提問者

非常感謝!
2016-07-07 回復 有任何疑惑可以回復我~

//要考慮姓名的長度和分數位數的不確定性,不一定都是2個字符,所以應該這樣寫可以的

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

var splScore=scoreStr.split(";");

var total=0;

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

? ? var p=0;

? ? p=parseInt(splScore[i].split(":")[1]);

? ? total+=p;

}

document.write(total);


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

var present=new Date()
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(present.getFullYear()+"年"+(present.getMonth()+1)+"月"+present.getDate()+"日"+weekday[present.getDay()]+"<br/>");
var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
document.write(scoreStr.split(";") ? ? ?+ "<br />");
var sourceArr = scoreStr.split(";");
var sum=0;

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

/*sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));*/??

sum += parseInt(sourceArr[i].substr(3));? ?
}
document.write("平均成績:"+Math.round(sum/(sourceArr.length))+"<br/>");

標記為黑的這樣寫可以嗎?結果是對的

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

舉報

0/150
提交
取消

for循環中sum賦值為什么不直接寫成sum += parseInt(sourceArr[i].substr(3));

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

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

幫助反饋 APP下載

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

公眾號

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