问答详情
源自:7-23 编程练习

明明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://img.mukewang.com/57ff981b0001a8bd03920173.jpg

提问者:无无法师 2016-10-13 22:20

个回答

  • 慕蓝天堂
    2016-10-13 23:41:20

    用join方法就行了

  • mksammk
    2016-10-13 23:40:49

    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>

  • 慕蓝天堂
    2016-10-13 23:40:20

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