0

我正在使用 HighCharts 绘制图形,并且我想尽量减少一些代码冗余

代码如下所示:

data = [{
        y: pageViews[0],
        color: colors[0],
        drilldown: {
            name: date[0],
            categories: ['a','b','c'],
            data: [photosR[0], ratingsR[0], searchesR[0], socialR[0]],
            color: colors[0]
        }
    }, {
        y: pageViews[1],
        color: colors[1],
        drilldown: {
            name: date[1],
            categories: ['a','b','c'],
            data: [photosR[1], ratingsR[1], searchesR[1], socialR[1]],
            color: colors[1]
        }
    }]

这是 highchart 中的向下钻取条形图。我想创建一个循环而不是编写以下代码 2 次

y: pageViews[0],
color: colors[0],
drilldown: {...}

我觉得它与对象有关,但还没有学到很多东西

4

1 回答 1

0

我假设您所有的数组都具有相同的长度,因此循环它们中的任何一个都是安全的。
这应该适合你:

var data = [];
for (var i = 0; i < pageViews.length; i++) {
   data.push({
      y: pageViews[i],
      color: colors[i],
      drilldown: {
         name: date[i],
         categories: ['a','b','c'],
         data: [photosR[i], ratingsR[i], searchesR[i], socialR[i]],
         color: colors[i]
      }
   });
}
于 2013-06-24T11:06:02.030 回答