2012-03-25 105 views
1

在flash動作腳本3中有沒有相當於php的array_flip()?下面是array_flip定義:相當於在flash動作腳本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()?

+0

很好的問題。雖然我很好奇什麼情況下需要反轉鍵/值對? – TheDarkIn1978 2012-03-25 20:56:07

+0

有時我有像arr [「en」] =「English」的數組; ARR [ 「FR」] = 「法語」;有時我知道鑰匙,想要價值,其他時候我知道價值並想要鑰匙。 array_flip使事情變得簡單,就像array_flip($ arr)[「English」]會給我關鍵。 – John 2012-03-25 21:09:24

+0

啊哈!所以在使用AS3的情況下,您不需要反轉鍵/值對,您可以使用一些AS3語句:下面的答案。 – TheDarkIn1978 2012-03-25 21:16:13

回答

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