不知道哪兒錯(cuò)?輸出的是NaN。如何修改或者還是邏輯錯(cuò)誤?
var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var array=scoreStr.split(":");
var sum=0;
? ?for(var i=0;i<array.length;i++){
? ? ? ?var temp=parseInt(array[i]);
? ? ?sum=sum+temp;
? ?}
document.write(sum);
2014-12-17
這里你以冒號(hào)為間隔進(jìn)行了字符串分割,然后你得到的數(shù)組實(shí)際上是:
['小明','87;小花','81;小紅','97;小天','76;小張','74;小小','94;小西','90;小伍','76;小迪','64;小曼',76]
你可能覺(jué)得用parseInt遇到非數(shù)字會(huì)自動(dòng)停止的方式來(lái)轉(zhuǎn)換,如'87;小花'會(huì)被轉(zhuǎn)換為87,但是這個(gè)數(shù)組第一項(xiàng)是小明,字符串被parseInt會(huì)返回NAN,所以最后這個(gè)算式變成了:
NaN+87+81+97+76+74+94+90+76+64+76=NaN