可能重复:
how to add items to an array dynamically in javascript
从数据库获取数据后,我想将其传递给系列:highchart。以下是数据。
series: [
// { name: '53411', data:[8151.74,15105.39]},
// { name: '53473', data:[18703.18,6692.23]},
// { name: '500606', data:[-866.78,1311.01]},
// { name: '500613', data:[27621.01,68468.79]},
// { name: '500614', data:[73.3,80.47]}
]
但是我想要动态创建它,为此我所做的也是:
var seriesData = '';
for (var i = 0; i < data.length; i++) {
if (i == data.length - 1) {
seriesData += "{ name:'" + seriesProviderName[i] + "', data:[" + providerist[i] + "," + providersec[i] + "]}";
}
else {
seriesData += "{ name:'" + seriesProviderName[i] + "', data:[" + providerist[i] + "," + providersec[i] + "]},";
}
之后我将这个seriesData传递给Series: [seriesData]
,但它不会打印图表。因为它是一个字符串,它在开头和结尾都包含双引号,我在firebug中看到它,我不知道如何摆脱它。例如,“seriedData”这是在firebug中。
"{ name: '53411', data: [8151.74,15105.39]},
{ name: '53473', data: [18703.18,6692.23]},
{ name: '500606', data: [-866.78,1311.01]},
{ name: '500613', data: [27621.01,68468.79]},
{ name: '500614', data: [73.3,80.47]}
"
我想删除这些双引号。
答案 0 :(得分:0)
您可以使用eval()
或JSON.parse()
或jQuery.parseJSON()
(这可能是安全性和兼容性的最佳选择,如果您使用的是jQuery)将字符串对象转换为JSON对象然后可以传递给highcharts。
或者,如同在评论中一样,您可以通过执行操作,首先将对象创建为数组,例如series[0]['name']=53411;
编辑:stringify()
走另一个方向......脑屁。
答案 1 :(得分:0)
有一个关于如何使用Ajax加载highcharts的例子:
http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/line-ajax/