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

为什么运行出来那么多逗号啊啊啊啊~~~~

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

  var num = scoreStr.split(';');

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

     num2 = new Array();

     num2[i] =parseInt(num[i].slice(3,5),10);

     document.write(num2);

     };

运行结果:87,81,,97,,,76,,,,74,,,,,94,,,,,,90,,,,,,,76,,,,,,,,64,,,,,,,,,76

正在回答

2 回答

因为你每次循环都打印了一次....


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

肆意妄为 提问者

非常感谢!
2016-03-16 回复 有任何疑惑可以回复我~

我去。你是把数字都分开截取出来了。。。

比如你想截取 第一个 小明的分数 87,其实通过 split(';')分隔出来的第一个数组是这样字的:["小明:87"];。。。

而不是 ["小","明",":","8","7"];所以你使用slice(3,5)截取出来的都是空的元素,所以会出现你的逗号宝宝。

解决方法:

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

  var num = scoreStr.split(';');

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

     var num2 = num[i].split(':');

     document.write(num2[1]);

     };

希望能帮到你

其实我刚学完

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

肆意妄为 提问者

非常感谢您的回答,不过您的答案并不能解决我的问题,其实出现逗号的原因是因为我将document.write写在了for循环内,其实在循环外就不会出现此问题,不过split()的问题确实我的理解是错的,谢谢。
2016-03-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么运行出来那么多逗号啊啊啊啊~~~~

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