【问题标题】:equivalent of php's array_flip in flash actionscript 3?相当于flash actionscript 3中的php array_flip?
【发布时间】:2012-03-25 20:46:37
【问题描述】:

flash actionscript 3 中是否有相当于 php 的 array_flip() 的功能?这是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() 相同结果的最简洁和最有效的方法是什么?

【问题讨论】:

  • 好问题。虽然我很好奇什么情况需要反转键/值对?
  • 有时我有像 arr["en"]="English"; 这样的数组arr["fr"]="法语";有时我知道关键,想要价值,有时我知道价值并想要关键。 array_flip 让事情变得简单,比如 array_flip($arr)["English"] 会给我钥匙。
  • 啊哈!所以在这种使用 AS3 的情况下,您不需要反转键/值对,您可以只使用一些 AS3 语句:在下面回答。

标签: actionscript-3 array-flip


【解决方案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

【讨论】:

    【解决方案2】:

    您可以使用for each...in 语句将get the value 关联到一个键,并使用for...in 语句将get the key 关联到一个值。

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 2011-12-05
      • 2011-04-29
      相关资源
      最近更新 更多