区切られた文字列をキーとして使用するオブジェクトの配列があります。FB4 デバッガーで調べると、キーは次のようになります。
[+] 22477◦25220◦20.1 [+] 22477◦25220◦20.6 [+] 22477◦25220◦20.8 [+] 22477◦25244◦55.1K(j)
最初の 2 つの項目は数値 (文字列にキャスト) ですが、マルチパート区切りキーの 3 番目の項目は当然文字列です。これは、英数字のライブラリ シェルフ リファレンスのようなものです。予想どおり、デバッガーの [+] アイコンをクリックすると、その文字列キーに関連付けられたオブジェクトを表示できます。ここまでは順調ですね。
デバッガーは、キーが配列に追加された (事前に並べ替えられた) 順序でキーを表示します。ただし、オブジェクト配列を反復する場合は次のようになります。
for (var key: MyAssociativeArray の文字列){ // キーは、デバッガーによって表示される順序ではありません }
キーは別の順序で返されます -- 内部ハッシュ? 私の質問は、キーが追加された順序をデバッガーがどのように認識し、配列を反復するときに実行時にその知識にアクセスできるかということです。追加された順序でオブジェクトを反復処理したい。または、連想配列に追加された順序を示すこれらのキーの独自のインデックスを維持する必要がありますか?
[0] 22477◦25220◦20.1 [1] 22477◦25220◦20.6 [2] 22477◦25220◦20.8 [3] 22477◦25244◦55.1K(j)
ありがとう