我构造了一个简单的函数,它使用dojox.charting以编程方式构建图表。当通过addSeries将变量传递给图表时,我对如何正确地进行变量类型转换感到有点困惑。请考虑以下内容:
function buildChart(targetDiv){
//grab the destination
var bc = dojo.byId(targetDiv);
//define the data for the series
var testData = [2,4,2,2,2,3,2,10,11,12,8,4];
var string = "2,4,2,2,2,3,2,10,11,12,8,4";
var convertedString = string.split(",");
console.log("Variable testData value is " + typeof(testData));
console.log("Variable convertedString value is " + typeof(convertedString));
//build the chart
dojo.attr(bc,"style","width:300px;height:200px;");
var chart = new dojox.charting.Chart2D(bc);
chart.addPlot("default", {type: "Lines"});
chart.addAxis("x");
chart.addAxis("y", {vertical: true});
//chart.addSeries("Series 1 works fine", testData);
chart.addSeries("Series 2 not working", convertedString);
chart.render();
}//buildChartenter code here请注意,testData变量可以正常工作,但convertedString变量不能。我一定遗漏了一些非常简单的东西。在这种情况下,我如何转换入站字符串变量才能工作?
发布于 2010-06-25 05:11:37
是的,这很简单:testData是数字数组,而convertedString是字符串数组。
您可以将这些字符串转换为如下所示的数字:
var convertedString = dojo.map(string.split(","), parseFloat);或者,您可以手动执行此操作:
var convertedString = string.split(",");
for(var i = 0; i < convertedString.length; ++i){
convertedString[i] = parseFloat(convertedString[i]);
}PS:在标识符中使用string看起来像是…不对。
https://stackoverflow.com/questions/3112921
复制相似问题