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

关于拆分疑问

我的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

正在回答

4 回答

<!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>


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

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区分下标,就能把所有数获取出来。

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

前端功臣狮

为你这里的第二次cle[int]已经是数组了还能用split这个方法呢?
2016-05-05 回复 有任何疑惑可以回复我~

估计就是分号中文了。

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

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

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

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

Mr_陈一 提问者

我已经试过了,";"是英文的,中英文都试过了,我也试过直接从原文复制";",结果是一样的。name[0] = 小;name[1] = 明;name[2] = ":";name[3] = 8;name[4] = 7;name[5] = ","
2016-02-17 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

关于拆分疑问

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号