The function below parses a csv file into an array so it looks something like
[[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 );
};
I'm attempting to amend it so that I can have nulls in the array if there is no data similar to
[[1,56.79],[2,57.50],null,[3,71.60],null,[4,69.10]]
I've tried the following but cannot get it to work properly
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 );
};
Please can someone advise how I get a null rather than an null inside an array?
Essentially I'm trying to get the data structure right to be able to do this http://jsfiddle.net/KhpCE/1/
null?cols[1] != "", but you have accepted an answer that instead checks for strings that doesn't have two columns, i.e. wherecols[1]doesn't even exist. So, the lines where there is no data, what do they look like?