如何在ArrayCollection的任何元素中查找属性数

时间:2010-11-20 12:12:28

标签: flex size arraycollection

如何找出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”}]);

这里第一个元素有两个属性,第二个元素有三个属性,依此类推。我怎么找到它?

1 个答案:

答案 0 :(得分: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()),但在您定义对象文字时,它应该没问题。