0

以下の私のコードでは、フィールドの長さは常に0であり、いくつかのキーと値のペアが含まれていると確信しています。

var fields = Reflect.fields(_commandMap);
trace("mapping "+fields.length);
4

1 に答える 1

1

ハッシュの配列形式の値にアクセスすることはできません。

ここにハッシュがあります

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
于 2012-10-29T09:20:15.723 に答える