在JavaScript中,将格式良好的字符串("4,5,7,2"
)转换为数组([4,5,7,2]
)的最佳方法是:
var _intStr="3,5,7,8"
→var _intArr=[3,5,7,8]
答案 0 :(得分:5)
var _intArr = _intStr.split(",");
值得一提的是,这样的值_intStr = "5,,1"
将生成带有三个项的数组,两个是预期的“5”和“1”,一个是空字符串。< / p>
答案 1 :(得分:1)
使用split函数按字符串或正则表达式进行拆分。
var arr = "1,2".split(",");
现在,如果你真的希望结果数组的元素是数字而不是字符串,你可以这样做:
var arr = [];
"1,2,3,4,5".replace(/(?:'[^]*')|(?:[^, ]+)/g, function(match) {
if (match) {
arr[arr.length] = parseInt(match, 10);
}
});
答案 2 :(得分:1)
好的,谢谢大家的帮助。
我用这种方式总结了你的帮助:
String.prototype.toArrInt = function(){
_intStr = this.replace(/^,+|,+(,)|,+$/g, '$1').split(',')
for(var i=0,_intArr=[];i<_intStr.length;_intArr.push(parseInt(_intStr[i++])));
return _intArr;
}
_intStr = this.replace(/^,+|,+(,)|,+$/g, '$1').split(',')
for(var i=0,_intArr=[];i<_intStr.length;_intArr.push(parseInt(_intStr[i++])));
return _intArr;
如果需要,请纠正我或改进我的最终代码。 谢谢,
安东尼奥