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

明明mystr1有20个元素,为什么mystr1.length却是11,课程网址http://www.imooc.com/code/1504

<!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 mynum=mydate.getDay(mydate);


document.write(mydate.getFullYear()+"年"+"&nbsp;"+mydate.getMonth()+"月"+"&nbsp;"+mydate.getDate()+"日"+"&nbsp;"+weekday[mynum]+"<br/>");
  
  
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var mystr=scoreStr.split(";");
var mystr0=String(mystr);
var mystr1=mystr0.split(":");
document.write(mystr1+"<br/>"+"<br/>");
document.write(mystr1.length);





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


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

http://img1.sycdn.imooc.com//57ff981b0001a8bd03920173.jpg

正在回答

3 回答

用join方法就行了

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

var mystr0=String(mystr);

mystr0 的值如下:

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

根据":"拆分, 得到的数组如下:

注意看, 两个冒号之间的内容是什么, "87,小花"

["小明", "87,小花", "81,小红", "97,小天", "76,小张", "74,小小", "94,小西", "90,小伍", "76,小迪", "64,小曼", "76"]

求和参考代码如下:
<script type="text/javascript">  
    //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
    var mystr=scoreStr.split(";");
    var res=0;
    var i=0;
    for (i=0;i<mystr.length;i++) {
      tmp = mystr[i].split(":");
      res = res + parseInt(tmp[1]);
    }
    document.write(res);
  </script>

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

你分割完了强制转化,标点不是冒号,再用冒号分割就变成   "小明","87,小花",.....这种格式了,所以是11个

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

举报

0/150
提交
取消

明明mystr1有20个元素,为什么mystr1.length却是11,课程网址http://www.imooc.com/code/1504

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