在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的示例,它解决了我的问题-谢谢你们,