为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输出的值为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);


正在回答

4 回答

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

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

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

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

滢芷

ok 谢谢
2016-12-05 回复 有任何疑惑可以回复我~

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

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


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

小贼猫Li

substring(3,5),为什么是3,5呢?
2016-12-05 回复 有任何疑惑可以回复我~

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

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

qq_风吹过下雨天_04389684 提问者

个人认为用冒号分割可以直接用parseint,能省一步查找元素位置
2016-11-14 回复 有任何疑惑可以回复我~
#2

stone310 回复 qq_风吹过下雨天_04389684 提问者

哦,是可以
2016-11-14 回复 有任何疑惑可以回复我~
#3

stone310 回复 qq_风吹过下雨天_04389684 提问者

只需获取分数就这样也可以了
2016-11-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

为什么输出的值为NaN?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信