问题
I am very new to javascript as I am currently making a cross platform web app in jQuery Mobile, I have used the example of XML Parsing to a HighCharts graph yet when I encounter a null in my series data it fails to draw any of the line and makes it into a scatter plot almost.
// push data points
$(series).find('data point').each(function(i, point) {
seriesOptions.data.push(
parseFloat($(point).text())
);
});
I have no idea how to write a if statement that checks to see if it found a null and if so how to tell it to use it... Can anyone please help or point me in the right direction as I would love my charts to be correct rather than placing a zero value where I have a null.
回答1:
Well, parseFloat will return 'NaN' if it's not a number (null and undefined are NaNs) so you could try doing like this:
// push data points
$(series).find('data point').each(function(i, point) {
var floatVal = parseFloat($(point).text());
if (!isNaN(floatVal)) {
seriesOptions.data.push(floatVal);
}
});
回答2:
A null
check in JavaScript if just like any other C-style language:
if (thing == null)
Or
if (thing != null)
I find this works well in most cases against my own programming where I'm writing as I would in, say, C#; however I find other peoples code relies on things never having been declared or set and such and so, and, all in all, it boils down to a spaghetti of checking for null
and "undefined"
- yes, the literal string, really - and whatever else.
回答3:
With a quick google on Javascript If statments I beleive I have got there - thanks Bjorn :0) Your answer led me to get there !!!
// push data points
$(series).find('data point').each(function(i, point) {
var floatVal = parseFloat($(point).text());
if (!isNaN(floatVal)) {
seriesOptions.data.push(floatVal);
}
else {
seriesOptions.data.push(null);
}
console.log(floatVal)
});
来源:https://stackoverflow.com/questions/15478609/javascript-parsefloat-and-nulls