问答详情
源自:7-23 编程练习

为什么输出的值为NaN?

  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var scoreArr=scoreStr.split(":");//分割成一个数组
console.log(scoreArr);

  //从数组中将成绩撮出来,然后求和取整,并输出。
var sum;var score;
  for (var i=1;i<scoreArr.length;i++ )
  {
score=parseInt(scoreArr[i]);
sum+=score;
}
console.log(sum);


提问者:qq_风吹过下雨天_04389684 2016-11-13 10:54

个回答

  • 沐皓
    2016-11-13 17:05:57
    已采纳

    sum 没有值~  改成var sum=0;

  • 慕粉4372458
    2016-11-13 17:00:15

    你给 num变量赋一个初值 就行了,num=0;你的代码不用改动,

  • 滢芷
    2016-11-13 14:26:57

    应该从;分割,然后再截取字符中的数字。

    for (var i=0;i<scoreArr.length;i++ )
      {
        score=parseInt(scoreArr.split(";")[i].substring(3,5));
        sum+=score;
    }


  • stone310
    2016-11-13 13:45:52

    先要分割分号(;),否则直接分割冒号出来的数组是很奇怪的一个东西