假设您正在将对象传递给函数
{title:"my title", data:"corresponding data"}
如何在不指定项目/子对象(title
和data
)的情况下让函数知道项目/子对象的名称是什么?
答案 0 :(得分:2)
您可以按如下方式使用for
循环:
for (var key:String in obj) {
var value:String = obj[key];
trace(key + ": " + value);
}
或使用内省API。
Performing Object Introspection上的Flex 3帮助页面对这些内容有了很好的概述。
答案 1 :(得分:1)
你可以像这样使用for(String in Object)
循环:
var i:String;
for(i in object)
{
var key:String = i;
var value:Object = object[i];
// do stuff with key/value
}
PS显然在循环中使用key
会更有意义,我的示例是为了演示而完成的。
为什么这会被贬低..因为我没有做功能?
function findKeys(obj:Object):Array
{
var ar:Array = [];
var i:String;
for(i in obj)
{
ar.push(i);
}
return ar;
}
var ob:Object = {things:"value", other:5};
trace(findKeys(ob)); // other,things