肆意妄为
2016-03-15 16:54
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
因为你每次循环都打印了一次....
我去。你是把数字都分开截取出来了。。。
比如你想截取 第一个 小明的分数 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]);
};
希望能帮到你
其实我刚学完
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题
回答 4
回答 3