2012-03-25 95 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