-1

可能重复:
如何在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]但它不会打印图表。因为它是一个字符串,它在开头和结尾包含双引号,我在萤火虫中看到过它,我不知道如何摆脱它。例如,“seriedData”这是在萤火虫中。

  "{ 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]}
  "

我想删除这些双引号。

4

2 回答 2

0

您可以使用eval()orJSON.parse()jQuery.parseJSON()(如果您使用 jQuery,这可能是安全性和兼容性的最佳选择)将您的字符串对象转换为 JSON 对象,然后可以将其传递给 highcharts。

或者,如评论中所述,您可以首先通过执行将对象创建为数组,例如series[0]['name']=53411;

编辑:stringify()走向另一个方向......大脑放屁。

于 2012-10-08T16:21:09.340 回答
0

有一个关于如何使用 Ajax 加载 highcharts 的示例:http:
//jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/line-阿贾克斯/

于 2012-10-08T16:44:54.387 回答