今天在学习highcharts时,遇到了一个把字符串数组转换为整形数组的问题,拿在这里讨论一下:
var dataStr="1,2,3,4,5";
现在需要把它分割为int型数组:
var dataIntArr=[1,2,3,4,5];
怎么做?方法有很多,这里举两个有意思的:
var dataStr="1,2,3,4,5";//原始字符串
var dataStrArr=dataStr.split(",");//分割成字符串数组
var dataIntArr=[];//保存转换后的整型字符串
//方法一
dataStrArr.forEach(function(data,index,arr){
dataIntArr.push(+data);
});
console.log(dataIntArr);
//方法二
dataIntArr=dataStrArr.map(function(data){
return +data;
});
console.log(dataIntArr);
要理解这两个方法,必须弄懂map和forEach的用法。要理解这两个方法,必须弄懂map和forEach的用法。
如下为自定义方法:
function arrstr2int(dataStrArrIn){
var dataStr="1,2,3,4,5";//原始字符串
var dataStrArr=(def(dataStrArrIn)=="")?dataStr.split(","):def(dataStrArrIn);
var dataIntArr=[];//保存转换后的整型字符串
dataIntArr=dataStrArr.map(function(data){
return +data;
});
return dataIntArr;
}
function arrint2str(dataIntArr){
var dataStrArr=[];//保存转换后的整型字符串
dataStrArr=dataIntArr.map(function(data){
return "" + data ;
});
return dataStrArr;
}
function str2arr(strs,spliter){
return strs.split((def(spliter)=="")?",":def(spliter));
}