当前,我正在使用Stacked and grouped column
高图表,该图表可以看到代码in this jsfiddle link.。我的目标是在series
部分中循环,以便生成堆叠的条形图。我正在为此系统使用laravel框架。
当前代码(jsfiddle)
series: [
{
name: 'John',
color: 'olive',
data: [5, 3, 4, 7, 2],
stack: '2014',
xAxis: 1
},
...
尝试输入的代码(这是这样做的方法吗?)
var temp = ["john", "olive", "[5, 3, 4, 7, 2]", "2014", 1];
series: [
for(var i=0; i<3; i++)
{
{
name: temp[0],
color: temp[1],
data: temp[2],
stack: temp[3],
xAxis: temp[4]
},
}
编辑@Lucky Saini答案的回复
答案 0 :(得分:1)
您不能以这种方式在数组中编写代码,但是可以创建IIFE函数:
series: (function() {
var series = [],
temp = ["john", "olive", "[5, 3, 4, 7, 2]", "2014", 1];
for (var i = 0; i < 3; i++) {
series.push({
name: temp[0],
color: temp[1],
data: JSON.parse(temp[2]),
stack: temp[3],
xAxis: temp[4]
});
}
return series;
}())
答案 1 :(得分:0)
否,您不能在方法/函数内部使用for循环。
相反,您可以将其循环到函数外部,并将其存储在数组中。并将其传递给series参数来使用该数组。
答案 2 :(得分:-1)
我建议在php中构造序列数组并使用json encode php array 然后使用JSON Parse in javascript
解析javascript中的json数据另一种方法是,在您的.blade文件中
series: <?php echo json_encode(<php array here>) ?>
让我知道它是否对您有用:)
答案 3 :(得分:-1)
您可以使用这种方法使用for循环在series
变量中添加数据。
var temp = ["john", "olive", "[5, 3, 4, 7, 2]", "2014", 1];
series = [];
for(var i=0; i<3; i++)
{
item = {
name: temp[0],
color: temp[1],
data: temp[2],
stack: temp[3],
xAxis: temp[4]
};
series.push(item);
}
console.log(series);