在javascript中将变量或数组分配给对象元素

时间:2011-12-06 17:30:00

标签: javascript

我有类似的东西可以使用,但我想将result2数组用于第一个系列.data而不是硬编码。使用data: result2data: [result2]不起作用。是否不可能在这种声明中赋予变量?

var chart1;
$(document).ready(function() {
  $.get('sales_data', function(result) {
      var result2 = result.split(',');
      chart1 = new Highcharts.Chart({
         series: [{
            type: 'column',
            name: 'Units',
            data: [1, 3, 4]
         }, {
            type: 'line',
            name: '3 month avg',
            data: [2, 3, 4]
         }]
      });
   });
});

2 个答案:

答案 0 :(得分:3)

问题可能在于,如果您要拆分字符串,result2将是一个字符串数组。

我从未使用Highcharts,但尝试将字符串的每个元素解析为相应的整数数组,然后传递该数组。

var strings = result.split(',');
var d = [];
for (var i = 0; i < strings.length; i++)
   d.push(parseInt(strings[i], 10));

然后,在data: d的通话中使用Chart

答案 1 :(得分:1)

你是正确的,可以像在JavaScript中那样做:

var arr = str.split(',');
var obj = {data: arr};

但是,我认为问题可能在于您将一组字符串传递给图表API。

在您的硬编码示例中,您传入的是整数数组。但是如果你打电话给split,你会得到一个字符串数组。这可能是问题的根源。

因此,在将字符串数组传递给图表API之前,请尝试使用parseInt或parseFloat将字符串数组转换为数字数组。