相当于在flash动作脚本3中的php的array_flip?
问题描述:
在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()?
答
使用此功能:
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
很好的问题。虽然我很好奇什么情况下需要反转键/值对? – TheDarkIn1978 2012-03-25 20:56:07
有时我有像arr [“en”] =“English”的数组; ARR [ “FR”] = “法语”;有时我知道钥匙,想要价值,其他时候我知道价值并想要钥匙。 array_flip使事情变得简单,就像array_flip($ arr)[“English”]会给我关键。 – John 2012-03-25 21:09:24
啊哈!所以在使用AS3的情况下,您不需要反转键/值对,您可以使用一些AS3语句:下面的答案。 – TheDarkIn1978 2012-03-25 21:16:13