今天在學習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));
}