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

这个哪里错了?

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

  var myarr=[scoreStr.split(";")];

  var sum=0.av=0;

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

  {var myarr2=myarr[i].indexOf(":");

  sum+=parseInt(myarr[i].substr(myarr2+1,2));

 }


正在回答

4 回答

有两处错误,看我代码的注释处:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var myarr=scoreStr.split(";");//这里scoreStr.split(";")已经是数组了,不再是字符串,不用再加一个[],你可以回头看下这节内容;.split()是将字符串变换为数组,而.join()是将数组变换为字符串;这个可以比较着来记住
  var sum=0,av=0;//这里,你写的是var sum=0.av=0;中间使用英文的逗号,隔开,不是用英文的句号.应该是你按错
 for(var i=0; i<myarr.length  ;i++)
  {var myarr2=myarr[i].indexOf(":");
  sum+=parseInt(myarr[i].substr(myarr2+1,2));
 }
 document.write(sum)//这里输出的sum其实是sum+;
 </script>

</head>

<body>
</body>
</html>


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

天凡云 提问者

非常感谢!
2016-10-20 回复 有任何疑惑可以回复我~

//通过javascript的日期对象来得到当前的日期,并输出。
  var date = new  Date();
  document.write(date);
 

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
   var scoreArr = scoreStr.split(";");
 
  //从数组中将成绩撮出来,然后求和取整,并输出。
  var score = 0;
  var sum = 0;
  for(var i = 0;i<scoreArr.length;i++){
         score = parseInt(scoreArr[i].substr(3,2));
         sum = sum+score;
      }
  var ave = sum/(scoreArr.length);
 document.write("平均分是:"+Math.round(ave));

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

sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));

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

sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));

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

举报

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

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

进入课程

这个哪里错了?

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