2012-03-25 8 views
1

フラッシュアクションスクリプト3にphpのarray_flip()と同等の機能がありますか?フラッシュアクションスクリプト3のPHPのarray_flipに相当する?

array_flip() returns an array in flip order, i.e. keys from trans become values and values from trans become keys.

ない場合は、ActionScript 3の中array_flip()と同じ結果を達成するために、少なくとも冗長で最も効率的な方法は何である:ここではarray_flipの定義ですか?

+0

良い質問。どのような状況でキー/値のペアを反転する必要があるのだろうかと私は不思議です。 – TheDarkIn1978

+0

私は時々arr ["en"] = "English"のような配列を持っています。 arr ["fr"] = "フランス語";時々私は鍵を知っていて、その価値を求めています。私はその価値を知っていて、鍵を欲しいときもあります。 array_flipは物事を簡単にしますarray_flip($ arr)["English"]私に鍵を与えます。 – John

+0

ああ!このような状況では、AS3では必ずしもキーと値のペアを逆にする必要はありませんが、以下のAS3ステートメントを使用することができます。 – TheDarkIn1978

答えて

1

この機能を使用:

function flip(obj:Object):Object 
{ 
    var base:Object = {}; 

    for(var i:String in obj) 
    { 
     base[obj[i]] = i; 
    } 

    return base; 
} 

デモ:

var array:Array = []; 

array["a"] = "a1"; 
array["b"] = "b2"; 
array["c"] = "c3"; 

var newObj:Object = flip(array); 

trace(newObj.b2); // b 
0

for each...inステートメントをキーに関連付けられたget the valueに使用し、for...inステートメントを値に関連付けられたget the keyに使用することができます。