运行出来结果是NAN,怎么回事?

来源:7-23 编程练习

qq_yEs先生_53591812

2016-07-29 13:54

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">


  //通过javascript的日期对象来得到当前的日期,并输出。

  var mydate=new Date();

  var weekday=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];

  var month=mydate.getMonth()+1;

  document.write(mydate.getFullYear()+"年"+month+"月"+mydate.getDate()+"日"+"&nbsp"+weekday[mydate.getDay()]);

  

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

 var arr="小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

 var n=arr.split(";");

 var sum=0;

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

 {sum = sum + parseInt(n[i].slice(3,5));}

     age=sum/n.length;

     document.write("班级平均分为"+Math.floor(age));

  //从数组中将成绩撮出来,然后求和取整,并输出。

  



</script>

</head>

<body>

</body>

</html>


写回答 关注

2回答

  • 无知的狗3576298
    2016-07-30 19:17:22

    var arr="小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"

    仔细数   你会发现第二个小花前面会有一个空格,而且最好用公式得出成绩在哪,单纯靠数以后会很麻烦。

  • 水里有条鱼
    2016-07-29 14:11:00

     {sum = sum + parseInt(n[i].slice(3,5));} 这句有问题,因为不是每个数组格式一样,你以分号分割,数组第一个是小明:87 第二个就变成 空格小花:81 ,所以不适用

    改为sum = sum + parseInt(n[i].slice(n[i].indexOf(":")+1)); 以数组:为界得出数字

    qq_yEs...

    好的 明白了 十分感谢!

    2016-07-29 14:23:35

    共 1 条回复 >

JavaScript进阶篇

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

468191 学习 · 21891 问题

查看课程

相似问题