2009-07-10 10 views
0

ちょっと、私はactionscriptオブジェクトからプロパティをリフレッシュすることについて質問があります。文字列から参照するActionScriptオブジェクト3.0

私は"groups.group1.item2"

方法を入力してGROUP1/ITEM2にアクセスし

group1 
    item1 = sampledata1 
    item2 = sampledata2 
    item3 = sampledata3 
group2 
    item1 = sampledata4 
    item2 = sampledata5 
    item3 = sampledata6 

"グループ"という名前の次のオブジェクトを...持っていれば文字列形式のキーを渡し、そのノードでデータを取得できるメソッドを作成します。例えば

groups.group1.item2はsampledata2

のgetItem( "group1.item2")を返します。もsampledata2を返します

これはeval()を使用すると可能ですが、私が使用しているAS 3.0では削除されたと思います。これを行うための他の方法はありますか?ありがとう。

答えて

3

オブジェクトをハッシュを使用する方法で使用します。

あなたは、オブジェクトをこのように初期化することができます。

groups = 
{ 
    "group1": 
    { 
     "item1":sampledata1, 
     "item2":sampledata2 
    }, 
    "group2": 
    {"item1":sampledata1... 
    } 
}; 

またはブラケットを使用して:助け

groups["group1"]["item1"] 

希望:

groups = new Object(); 
groups["group1"] = new Object(); 
groups["group1"]["item1"] = sampledata1; 

のアクセスは、次のように行われます。

+0

正解...まだJSONに準拠している必要はありません...文字列をキーとして使用するのではなく、識別子を使用できます。つまり{"key":}ですsomeObject ["someProperty"]はsomeObject.somePropertyと同等ですがsomeObjectの型が既知でsomePropertyが定義されている場合は後者が高速であることを除けばsomeObjectのクラスによって... greetz – back2dos

+0

はい、あなたは正しいです、私はそれをタイプしたときに私が思っていたことを知らない。 – CookieOfFortune

+0

ああ、私は現時点でそのコードのいくつかをやっていて、私の財産にはスペースが入っていたので、文字列以外の表記ではできないと思います。 – CookieOfFortune

関連する問題