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

为什么按照我的方法,结果没有出来啊,帮忙看看,谢谢了

<!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 weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(
    mydate.getFullYear()+"年"+
    (mydate.getMonth()+1)+"月"+
    mydate.getDate()+"日"+"&nbsp"+
    weekday[mydate.getDay()]);
  //通过javascript的日期对象来得到当前的日期,并输出。
  
  

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

</script>
</head>
<body>
</body>
</html>


正在回答

2 回答

你的:

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

 var score= scoreStr.split(";");

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

 var score1=new Array();

 var score1=score.split(":");

var sum=0;

for (var i=1;i<=score1.length;i=i+2){

    sum+=parseInt(score1[i]);

    }

该成:

  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
 
  //从数组中将成绩撮出来,然后求和取整,并输出。
  var score=scoreStr.split(";");
  var score1=new Array();
  var sum=0;
  for(var i=0;i<score.length;i++)
  {
   var score2=score[i].split(":");
   score1[i]=score2[1];
   }
  for(var j=0;j<score1.length;j++)
  {
   sum+=parseInt(score1[j]);
   }

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

慕粉3686312 提问者

明白了,自己思维有时候转不过弯来
2016-08-03 回复 有任何疑惑可以回复我~
#2

qq_深渊_1 回复 慕粉3686312 提问者

正常,没注意处理好字符串与数组的转换会这样的,多尝试几次就行了
2016-08-03 回复 有任何疑惑可以回复我~
#3

qq_深渊_1 回复 慕粉3686312 提问者

就这种题你可以再试着用一下其他的方法,多转换一下一些新的思维有益于以后的学习与工作
2016-08-03 回复 有任何疑惑可以回复我~
#4

慕粉3686312 提问者 回复 qq_深渊_1

谢谢了,我会努力的。
2016-08-03 回复 有任何疑惑可以回复我~
查看1条回复

有两个问题,第一

var score= scoreStr.split(";");

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

这两个连在一起,第一条结果被覆盖掉,所以第一条没什么用了

第二

 var score1=score.split(":");

如果上面第一条没用,在以符号":"分隔时,分隔后变成:

小明 

87,小花

81,小红

,97,小天

76,小张

74,小小

94,小西

90,小伍

76,小迪

64,小曼

76

所以后面的会错


可以改成:

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

 var score= scoreStr.split(";");

 var score2 = "";

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

score2 =  score2 + score[i] + ":" ;

 }

 var score1=new Array();

 var score1=score2.split(":");

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

document.write(score1[i]+"<br>");

 }

var sum=0;

for (var i=1;i<score1.length;i=i+2){  //这里把<=改为<

    sum+=parseInt(score1[i]);

    }

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

   

document.write(sum/score1.length*2);


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

水里有条鱼

,97,小天 ----多了个,
2016-08-03 回复 有任何疑惑可以回复我~
#2

慕粉3686312 提问者

score2 = score2 + score[i] + ":" ,这里是输出一组数据吗?以:分割的数组,然后在用split分割成20个数组?
2016-08-03 回复 有任何疑惑可以回复我~
#3

qq_深渊_1 回复 慕粉3686312 提问者

他是这么做的
2016-08-03 回复 有任何疑惑可以回复我~
#4

qq_深渊_1 回复 慕粉3686312 提问者

先把字符串分割成数组,然后把数组拼成字符串,然后再分割成数组,看看我的吧,我把字符串分割成数组后,然后把数组中的每个元素看成字符串进行再次分割直接只取数值部分
2016-08-03 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

为什么按照我的方法,结果没有出来啊,帮忙看看,谢谢了

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