如何找出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”}]);
这里第一个元素有两个属性,第二个元素有三个属性,依此类推。我怎么找到它?
答案 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()),但在您定义对象文字时,它应该没问题。