Javascript Highcharts为柱形图创建系列

Javascript Highcharts为柱形图创建系列,javascript,jquery,graph,highcharts,series,Javascript,Jquery,Graph,Highcharts,Series,给定此数据,我在填充Highcharts柱形图的系列部分时遇到问题。请注意,col1、col2、col3是动态创建的,因此这些名称可以更改,值的数量也可以更改 var objData = { "1995":{ "col1":300.75, "col2":1000, "col3":500 }, "1996":{ "col1":300, "c

给定此数据,我在填充Highcharts柱形图的系列部分时遇到问题。请注意,col1、col2、col3是动态创建的,因此这些名称可以更改,值的数量也可以更改

 var objData = {
    "1995":{
            "col1":300.75,
            "col2":1000,
            "col3":500
           },
    "1996":{
            "col1":300,
            "col2":400,
            "col3":900}
 }
这是我在系列部分中想要的:

 series: [{
          name: 'col1', 
          data: [300.75,300]
         },
         {
          name: 'col2', 
          data: [1000,400]
         },
         {
          name: 'col3', 
          data: [500,900]
         }
        ];
我创建了一个JS提琴:并尝试构建一个循环,但没有成功

如果有人能帮忙,那就太好了

谢谢
干杯

看看这把小提琴中的解决方案:

for(objData中的var键){
//控制台日志(键);1995年、1996年
var obj=objData[key];
类别。推送(按键);
用于(obj中的var项目){
var目标系列;
var bFound=假;
对于(变量i=0;i
for (var key in objData) {

 //console.log(key);  1995, 1996   
    var obj = objData[key];
    categories.push(key);

    for (var item in obj) {
        var targetSeries ;
        var bFound = false;
        for(var i=0; i< series.length; i++){
            if(item == series[i].name){
                bFound = true;
               targetSeries = series[i];
            }
        }
        if(!bFound) {
            targetSeries = {'name': item, 'data':[]};
            series.push(targetSeries);
        }
        var val = obj[item]
        targetSeries.data.push(val);
    }    

}