慕粉3361053
2016-08-04 21:42:47
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";?var scoreStr1=scoreStr.split(";");???var sum=0;?var scoreStr1=new Array();??for(var i=0;i<scoreStr1.length;i++){sum+= parseInt(scoreStr1[i].substr(scoreStr1[i].indexOf(":")+1));}? //從數(shù)組中將成績撮出來,然后求和取整,并輸出。? document.write("總分是:"+sum);
3 回答
已采納

snowmanJS
TA貢獻(xiàn)89條經(jīng)驗(yàn) 獲得超53個贊
將?var scoreStr1=new Array(); 去掉,因?yàn)関ar scoreStr1=scoreStr.split(";");執(zhí)行后scoreStr1已經(jīng)是數(shù)組了,在用var scoreStr1=new Array();就相當(dāng)于將scoreStr1初始化為一個新空數(shù)組。

luofuxiang
TA貢獻(xiàn)34條經(jīng)驗(yàn) 獲得超34個贊
var scoreStr1=scoreStr.split(";")這句在聲明scoreStr1的同時已經(jīng)將其實(shí)例化了,如果再用new Array()將其實(shí)例化,scoreStr1將指向一個空的Array對象,所以輸出的結(jié)果是0。樓主的代碼中只需要將var scoreStr1=new Array()這句注釋掉就可以得到期望的結(jié)果了。
var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; ?var?scoreStr1=scoreStr.split(";"); ? ? ?var?sum=0; ?//var?scoreStr1=new?Array();<==注釋掉這句 ? ?for(var?i=0;i<scoreStr1.length;i++){ sum+=?parseInt(scoreStr1[i].substr(scoreStr1[i].indexOf(":")+1)); } ??//從數(shù)組中將成績撮出來,然后求和取整,并輸出。 ??document.write("總分是:"+sum);
添加回答
舉報
0/150
提交
取消