下面的函数将一个 csv 文件解析为一个数组,所以它看起来像
[[1,56.79],[2,57.50],[3,71.60],[4,69.10]]
function CSVToArray (csvString) {
var arrData = [[]];
var rows = csvString.match(/[^\r\n]+/g);
var len = rows.length
for (var i=0; i<len; ++i)
{
var cols = rows[i].split(",")
arrData[ arrData.length - 1 ].push( parseFloat(cols[0]) );
arrData[ arrData.length - 1 ].push( parseFloat(cols[1]) );
if (i<(len-1))
{
arrData.push( [] );
}
}
return( arrData );
};
我正在尝试修改它,以便如果没有类似的数据,我可以在数组中包含空值
[[1,56.79],[2,57.50],null,[3,71.60],null,[4,69.10]]
我尝试了以下但无法使其正常工作
function CSVToArray (csvString) {
var arrData = [[]];
var rows = csvString.match(/[^\r\n]+/g);
var len = rows.length
for (var i=0; i<len; ++i)
{
var cols = rows[i].split(",")
if (cols[1] != "")
{
arrData[ arrData.length - 1 ].push( parseFloat(cols[0]) );
arrData[ arrData.length - 1 ].push( parseFloat(cols[1]) );
arrData.push( [] );
}
else
{
arrData.push( null);
}
}
return( arrData );
};
请有人能告诉我如何在数组中得到一个空值而不是一个空值吗?
本质上,我试图让数据结构正确,以便能够做到这一点http://jsfiddle.net/KhpCE/1/