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

关于拆分疑问

我的var name = scoreStr.split(";"); 拆出来是小明:87,小花:81,小红:97,小天:76,小张:74,小小:94,小西:90,小伍:76,小迪:64,小曼:76 name[0] = 小;name[1] = 明;name[2] = ":";name[3] = 8;name[4] = 7;name[5] = "," 这是为什么 为什么不是 name[0] = 小明:87

提问者:Mr_陈一 2016-02-16 18:41

个回答

  • Lionis
    2016-03-08 22:58:40

    <!DOCTYPE  HTML>
    <html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>系好安全带,准备启航</title>
    
    <script type="text/javascript">
    
      //通过javascript的日期对象来得到当前的日期,并输出。
        var date = new Date();
        var time = {
            year: (function() {
                _year = date.getFullYear();
                return _year + "年";
            })(),
            
            month: (function() {
                var _month = date.getMonth() + 1;
                if(_month < 10) {
                    _month = "0" + _month;
                }
                return _month + "月";  
            })(),
            
            day: (function() {
                var _day = date.getDate();
                if(_day < 10){
                    _day = "0" + _day;
                }
                return _day + "日";
            })(),
            
            week: (function() {
                var _week = date.getDay();
                switch(_week) {
                    case 0: 
                        _week = "星期日";
                        break;
                    case 1:
                        _week = "星期一";
                        break;
                    case 2:
                        _week = "星期二";
                        break;
                    case 3:
                        _week = "星期三";
                        break;
                    case 4:
                        _week = "星期四";
                        break;
                    case 5:
                        _week = "星期五";
                        break;
                    case 6:
                        _week = "星期六";
                        break;
                    default: 
                        console.log("星期错误");
                } 
                return _week;
            })(),
        }
        
        
        
        
      
      
        //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
        var scoreString = "小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
        
        var scoreArray = scoreString.split(";");
        
        
        var scoreAll = (function() {
            var _score,_numStart,_numEnd;
            _score = 0;
            for(var i = 0; i < scoreArray.length; i++){
                _numStart = scoreArray[i].indexOf(":") + 1;
                _score += parseInt(scoreArray[i].slice(_numStart,_numEnd));
            }  
            _score /= scoreArray.length;
            return Math.ceil(_score);
        })();
    
        //从数组中将成绩撮出来,然后求和取整,并输出。
        document.write(time.year + time.month + time.day + " " + time.week + "班级总分为:" + scoreAll);
    
    
    </script>
    </head>
    <body>
    </body>
    </html>


  • 奶酪似的心脏
    2016-02-26 23:26:22

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

    var cle = scoreStr.split(";")

    var num = 0;

    for (var int = 0; int < cle.length; int++) {

    var ble = cle[int].split(":");

    num +=parseInt(ble[1]);

    }

    它本身是数组,直接分割两次就出来了,然后用0和1区分下标,就能把所有数获取出来。

  • 焦永山
    2016-02-16 21:49:49

    估计就是分号中文了。

  • OKbexx
    2016-02-16 20:18:03

    首先确认scoreStr是否为这个:小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76

    再看 scoreStr.split(";")中的分号;是否为英文分号。正常应为name[0]=小明:87