Slickgrid:使用动态参数进行多分组

Slickgrid: Multiple Grouping with dynamic Parameters

我正在开发 SlickGrid JS 插件。我想根据 table header 对 Grid/Table 进行动态分组。我应该如何动态传递参数[getter,formatter, aggregators]

没有像这样的硬编码

dataView.setGrouping([
    {
        getter : "department",
        collapsed : false,
        formatter : function(g){
            return g.value;
        },
        comparer : groupComparer
    },{
        getter : "faculty",
        collapsed : false,
        formatter : function(g){
            return g.value;
        },
        comparer : groupComparer
    }
]);

是否可以使用任何循环语句生成 Array 个参数

我试了很多,找到了这个解决方案

            arr=["department","faculty"];       //Dynamically generated array having titles to group
            var ar = []; //empty array to push parameters                                           
            for(i = 0; i < arr.length; i++)
            {                                       
                ar[i] = {
                        getter: arr[i],
                        formatter: function (g) {                               
                                return ":  " + g.value + "  <span style='color:green'>(" + g.count + " items)</span>";
                        },      
                        aggregators: [
                            new Slick.Data.Aggregators.Avg("percentComplete"),
                            new Slick.Data.Aggregators.Sum("cost")
                        ],
                        aggregateCollapsed: false,
                        lazyTotalsCalculation: false
                      };                      
            }               
            dataView.setGrouping(ar);