0

如何找出 ArrayCollection 的任何元素中的属性数量?ArrayCollection 的结构类似于:

var arrColl:ArrayCollection = new ArrayCollection([{column1Data:"someData",column2Data:"someData"},{column1Data:"someData",column2Data:"someData",column3Data:"someData"}, {column1Data:"someData", column2Data:"someData",column3Data:"someData",column4Data:"someData"}]);

这里第一个元素有两个属性,第二个元素有三个属性等等..我怎么找到那个?

4

1 回答 1

1

使用您的数据,试试这个:

public function numProperties(value:Object):int
{
    var n:int = 0;
    for each(var p:Object in value) {
        n++;
    }
    return n;
}

trace(numProperties(arrColl.getItemAt(0)));
trace(numProperties(arrColl.getItemAt(1)));
trace(numProperties(arrColl.getItemAt(2)));

请记住,有时可能会丢失属性(请参阅Object.setPropertyIsEnumerable()),但在您的情况下应该没问题,因为您正在定义对象文字。

于 2010-11-20T13:00:45.873 回答