2012-10-19 119 views
0

我想实现插件图表插入我的代码,图表的代码是这样转换一个维数组二维数组

chart = new Highcharts.Chart({ 
      }, 
      series: [{ 
       type: 'pie', 
       name: 'criterin', 
       data: [ 
        ['Firefox', 45.0], 
        ['IE',  26.8], 
        { 
         name: 'Chrome', 
         y: 12.8, 
         sliced: true, 
         selected: true 
        }, 
        ['Safari', 8.5], 
        ['Opera',  6.2], 
        ['Others', 0.7] 
       ] 
      }] 
     }); 

我有数组,我从阿贾克斯功能得到了它包含了我想要的信息替换到图表中。

例如,我提醒样品阵列,并导致类似:

post work,0.64,quality,0.35

我如何用我的阵列与图表代码集成。

+0

我建议你在后端格式,并避免客户端的过程。 –

回答

1

所以,如果我理解正确,你有一个数组,看起来像这样

['post work',0.64,'quality',0.35] 

而且你希望它看起来是这样的:

[ 
    ['post work', 0.64], 
    ['quality', 0.35] 
] 

像这样的东西应该工作

function array1Dto2D(sourceArray) { 
    var array2D = []; 
    for (var i=0; i < sourceArray.length - 1; i+=2) { 
     var pair = [sourceArray[i], sourceArray[i+1]]; 
     array2D.push(pair); 
    } 
    return array2D; 
}  

和使用这样的事情(注意我不使用highcharts,但我不认为WA你有问题在你的问题是正确的,与空对象作为第一个参数):

chart = new Highcharts.Chart({ 
     series: [{ 
      type: 'pie', 
      name: 'criterin', 
      data: array1Dto2D(my1dsourcedata) 
     }] 
    }); 
+1

如果你发现自己在做很多不同的数组操作,并且需要更多的工具,那么我还需要查看underscore.js。 – VoronoiPotato

+0

它给了我二维数组,但是当我换成图表代码。图表无法加载。我不知道为什么 – Kamal

+0

@Kamal:你用'换成图表代码'是什么意思?您传递给图表库的对象字面值的data属性应设置为此函数的输出。 –