Javascript Array在传递给函数时成为Object

时间:2015-08-20 04:58:51

标签: javascript jquery arrays slickgrid

我正在使用光滑的网格JS插件来分组表行。所以我需要为函数调用传递一些参数。所以我尝试将数组作为参数传递。我使用for循环制作数组。但是当一个数组值通过for循环中的一个函数时,它就变成了一个未定义的OBJECT。 以下是我的代码段

function groupBy(length,array) {                
            var newArray=[];        
                for(i=0;i<length;i++)
                {
                    newArray[i]={
                    getter: array[i],
                    formatter: function (g) {                               
                        if(g.value == null)
                        {                       
                            return array[i]+":  " + (g.value ? "True" : "False") + "  <span style='color:green'>(" + g.count + " items)</span>";                            
                        }
                        return array[i]+":  " + 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: true
                    };

                }               
                dataView.setGrouping(newArray);             
            }

数组值一直工作到此语句getter: array[i],,当它在for循环中通过此函数时,它变为未定义或对象。

formatter: function (g) {                               
    if(g.value == null)
    {                       
        return array[i]+":  " + (g.value ? "True" : "False") + "  <span style='color:green'>(" + g.count + " items)</span>";                            
    }
    return array[i]+":  " + g.value + "  <span style='color:green'>(" + g.count + " items)</span>";
   }

请帮我摆脱这个。

0 个答案:

没有答案