Как говорит Каджыр, если это DisplayObjectContainer, вы можете проверить наличие numChildren.
Если вы хотите проверить, содержит ли универсальные объекты простые свойства (примитивы, такие как Number, int, uint, String, Boolean) или сложныеСвойства (подобъекты, экземпляры некоторого класса), которые вы можете рассматривать как дочерние для этого универсального объекта, вы делаете следующее:
var testObj:Object = {id:1,name:'DumDum'};
var testObj2:Object = {id:2,name:'NumNum',data:[1,2,3,4,5,6,7,8,9],somethingComplex:{firstName:'Num',lastName:'Num'}};
trace(isSimple(testObj).length == 0);//prints true
trace(isSimple(testObj2).length == 0);//prints false
trace(isSimple(testObj2));
function isSimple(obj:*):Array{
var complex:Array = [];
for(var prop in obj){
if(!(obj[prop] is String || obj[prop] is int || obj[prop] is uint || obj[prop] is Number || obj[prop] is Boolean))
complex.push({prop: obj[prop]});
}
return complex;
}
Если вы хотите получить количество членов (переменных, связанных с объектом), это достаточно просто получить:
var Ob:Object = {};
Ob.SomeProp="xxx";
Ob.SomeOtherProp="zzz";
trace(getMembersNum(Ob));//prints 2
function getMembersNum(obj:*):int{
var result:int = 0;
for(var prop in obj) result++;
return result;
}
Вы могли бы написать это в вашем пакете / классе утилит, например, так:
public static function get numMembers(obj:*):int{
var result:int = 0;
for(var prop in obj) result++;
return result;
}
HTH