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

成绩总分的输出结果为什麽是:NaN; 怎样能解决这个问题?

<!DOCTYPE  HTML>

<html >

<head>

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

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

<script type="text/javascript">

var mydate=new Date();

var weekenday=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");

document.write(mydate.getFullYear()+"年"+mydate.getMonth()+"月"+mydate.getDay()+"日"+weekenday[mydate.getDay()]);

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

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

  var myarr=scoreStr.split(";")

 var sum=0;

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

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

 {

   sum=sum+parseInt(myarr[i]);

 }

 document.write("xx班级总分为:"+sum+"<br/>"+"xx班级的平均分为:"+ Math.round(sum/myarr.length));

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

</script>

</head>

<body>

</body>

</html>


正在回答

3 回答

也可以不用分割,直接选定字符串的中的数字。用slice。数组中”小明:87“一共是0.1.2.3.4五个字符,你从3开始选定就行了。sum=sum+parseInt(myarr[i].slice(3))或者sum=sum+parseInt(myarr[i].slice(3.5)).

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

你还少了一步,分割是小明:87 这样,你得获取后面的数字,用 substr()或者slice(),比如我的sum=sum+parseInt(arr[i].substr(3,2));

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

myarr[i]内容为 name:score  所以你还要再用split(":")进行分割,得到的的二维数组中score[i][1]才是成绩;

score[i]=myarr[i].split(":");

sum+=parseInt(score[i][1]);

记得声明score为数组。

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

举报

0/150
提交
取消

成绩总分的输出结果为什麽是:NaN; 怎样能解决这个问题?

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