【问题标题】:iterate through all datatable objects in a page?遍历页面中的所有数据表对象?
【发布时间】:2015-03-16 13:43:39
【问题描述】:

我有一个使用 Google Charts 显示图表的网页。我创建了多个数据表,如下所示:

var rttldata1 = new google.visualization.DataTable();
var rttldata2 = new google.visualization.DataTable();
var rttldata3 = new google.visualization.DataTable();
...
var rttldata10 = new google.visualization.DataTable();

在某个时候,我想用 javascript 对所有这些表做一些事情。

类似

for each (datatable){
    do something
}

有人能指出我正确的方向吗?

【问题讨论】:

    标签: javascript foreach google-datatable


    【解决方案1】:

    首先,您需要将每个 DataTable 的实例化封装在一个函数中,以保持 DRY 并添加到数组中。然后你可以循环遍历每个对象。

    var tables = [];
    
    function makeDataTable(options) {
      var options = options || {};
      var table = new google.visualization.DataTable(options);
      tables.push(table);
      return table; // not needed in this context, but you might want
    }
    
    // insert code that creates tables via makeDataTable({}) ...
    
    for (var i = 0, max = tables.length; i < max; i += 1) {
      var currTable = tables[i];
      // do something with currTable
    }
    

    【讨论】:

      【解决方案2】:

      也许尝试将每个数据表推送到一个数组中,然后通过该数组进行映射?

      var array = [];
      array.push(rttldata1, rttldata2, rttldata3, ...., rttldatan);
      array.map(function(datatable) { doSomething(datatable) });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-17
        • 2014-10-07
        • 2016-11-18
        • 2010-10-25
        • 1970-01-01
        相关资源
        最近更新 更多