在我下面的代码中,字段长度始终为 0,我很确定其中有一些键值对。
var fields = Reflect.fields(_commandMap);
trace("mapping "+fields.length);
在我下面的代码中,字段长度始终为 0,我很确定其中有一些键值对。
var fields = Reflect.fields(_commandMap);
trace("mapping "+fields.length);
您无法访问 Hash 中数组形式的值。
这是一个哈希
var a = new Hash();
a.set("hello", 0);
a.set("bonjour", 1);
a.set("ohai", 2);
这是您可以访问值/键的一些方法:
for (value in a)
{
trace(value); //Will trace 0, 1, 2 (no assurance that it will be in that order)
}
for (key in a.keys())
{
trace(key); //Will trace hello, bonjour, ohai (no assurance that it will be in that order)
}
如果要将哈希转换为数组,请使用Lambda:
var valueArray = Lambda.array(a);
trace(valueArray[0]); //can be 0, 1 or 2
//since keys() returns an Iterator, not an Iterable, we cannot use Lambda here...
var keyArray = [];
for (key in a.keys()) keyArray.push(key);
trace(keyArray[0]); //can be hello, bonjour or ohai