首页 > 解决方案 > 在 Javascript 循环中创建新数组

问题描述

我正在使用 chartJS 来使用大型记录集填充图表。

我正在创建一个 ArrayOfArrays,如下所示:

var arrayOfArrays = 
JSON.parse('@Html.Raw(Json.Encode(Model.organisationData))');

我现在正在尝试创建多个数组来存储数据以填充图表。为此,我正在执行以下操作:

 var array0=[]
 var array1=[]
 var array2=[]
 var array3=[] 
 ...etc...up to  var array17=[] 

我按如下方式填充每个数组:

for (var i = 0; i < 5; i++) {
    array1.push(arrayOfArrays[i]['dataRows'][1]['dataCount']);
}
array1.push(arrayOfArrays[1]['dataRows'][1]['dataLabel']);  //Item 5 - Label


for (var i = 0; i < 5; i++) {
    array2.push(arrayOfArrays[i]['dataRows'][2]['dataCount']);
}
array2.push(arrayOfArrays[1]['dataRows'][2]['dataLabel']);//Item 5 - Label

etc..etc...repeated 17 times....

然后填充我正在做的图表..

var options = {
    type: 'bar',
    data: {
        datasets: [
            {
                label: @array0[5]",
                data: @array0
            },
            {
                label: @array1[5]",
                data: @array1
            },
            {
                label: @array2[5]",
                data: @array2
            }
            .....etc....etc.....17 times...



        ]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    reverse: false
                }
            }]
        }
    }
}

有没有更有效的方法来做到这一点?我可以创建一个循环来生成每个数组,而不是重复 17 次。然后填充这些数组并在 chartJS 中使用它们。

标签: javascriptloopschart.js

解决方案


推荐阅读