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

在javascript中将变量或数组分配给对象元素,javascript,Javascript,我有这样的功能,但我想对第一个系列.data使用result2数组,而不是硬编码。使用数据:result2或数据:[result2]不起作用。在这种声明中不能用变量赋值吗 var chart1; $(document).ready(function() { $.get('sales_data', function(result) { var result2 = result.split(','); chart1 = new Highcharts.Chart({

我有这样的功能,但我想对第一个系列
.data
使用
result2
数组,而不是硬编码。使用
数据:result2
数据:[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]
         }]
      });
   });
});

您是正确的,可以在JavaScript中执行以下操作:

var arr = str.split(',');
var obj = {data: arr};
但是,我认为问题可能是您正在将字符串数组传递给您的charts API

在硬编码示例中,传递的是一个整数数组。但是如果调用
split
,您将得到一个字符串数组。这可能是问题的根源


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

可以在JavaScript中执行以下操作:

var arr = str.split(',');
var obj = {data: arr};
但是,我认为问题可能是您正在将字符串数组传递给您的charts API

在硬编码示例中,传递的是一个整数数组。但是如果调用
split
,您将得到一个字符串数组。这可能是问题的根源


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

问题可能在于,如果拆分字符串,
result2
将是字符串数组

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

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

然后,在调用
Chart

时使用
data:d
,问题可能是如果要拆分字符串,
result2
将是一个字符串数组

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

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

然后,在调用
图表时使用
数据:d

这里有什么不起作用
split
返回一个数组,而不是一个对象,只是供参考。它应该只工作
data:result2
。你试过了吗?如果它不工作,请检查
sales\u data
是否返回正确的字符串。您没有对result2执行任何操作..?此对象将馈送到图表插件。如果我将数据:[1,3,4]替换为数据:[result2]或数据:result2],则图表不会出现-它是空白的。我使用了一个警报(result2)来确认它有我需要的数据。换句话说,这与我上面发布的内容不一样:var chart1$(document).ready(function(){$.get('sales_data',function(result){var result2=result.split(',');chart1=newhighcharts.Chart({series:[{type:'column',name:'Units',data:result2},{type:'line',name:'3个月平均值',data:[2,3,4] }] }); }); });什么东西不管用
split
返回一个数组,而不是一个对象,只是供参考。它应该只工作
data:result2
。你试过了吗?如果它不工作,请检查
sales\u data
是否返回正确的字符串。您没有对result2执行任何操作..?此对象将馈送到图表插件。如果我将数据:[1,3,4]替换为数据:[result2]或数据:result2],则图表不会出现-它是空白的。我使用了一个警报(result2)来确认它有我需要的数据。换句话说,这与我上面发布的内容不一样:var chart1$(document).ready(function(){$.get('sales_data',function(result){var result2=result.split(',');chart1=newhighcharts.Chart({series:[{type:'column',name:'Units',data:result2},{type:'line',name:'3个月平均值',data:[2,3,4] }] }); }); });我在Highcharts中看到了另一个使用parseFloat的示例,它解决了我的问题-谢谢你们,我在Highcharts中看到了另一个使用parseFloat的示例,它解决了我的问题-谢谢你们,