我有一个数据提供者和我的数组的过滤函数,它被分配给我的数据提供者.
如何将数据提供者(item.data)的每一行中的属性列表传递给过滤器函数?
例如,如果我的对象包含:
宾语
名称
电子邮件
地址
然后我想在我的过滤功能中查看姓名,电子邮件和地址.不幸的是,我不知道这些属性将会是什么.
有任何想法吗?
如果它是一个动态对象我相信你可以做这样的事情:
var obj:Object; // I'm assuming this is your object for(var id:String in obj) { var value:Object = obj[id]; trace(id + " = " + value); }
这就是它在AS2中的表现,我相信它仍适用于AS3中的动态对象.我认为它将显示的属性更受限于非动态对象.
flash.utils.describeType(value:*)
还将为您提供对象的属性列表.
你可能正在寻找
ObjectUtil.getClassInfo(object)
,看到:
http://livedocs.adobe.com/flex/3/langref/mx/utils/ObjectUtil.html#getClassInfo%28%29
请注意,它中存在一个错误,导致它将XML视为非动态数据类型.有关该错误的更多信息:bugs.adobe.com/jira/browse/SDK-17712
for-in仅适用于动态对象.对于类型化对象,您需要使用某种反射来获取属性名称(例如http://www.as3commons.org/as3-commons-reflect/index.html)
/安德烈.