将一维数组转换为二维数组

时间:2012-10-19 17:04:05

标签: javascript multidimensional-array

我想在我的代码中实现插件图表,图表代码就像

 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]
                ]
            }]
        });

我有从ajax函数获取的数组,其中包含我想要替换到图表中的信息。

例如,我提醒样本数组,结果如下:

  

post work,0.64,quality,0.35

如何使用我的数组与图表代码集成。

1 个答案:

答案 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;
}    

并使用类似的东西(注意我不使用高级图表,但我不认为你在问题中的方式是正确的,将空对象作为第一个参数):

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