关于ActionScript 3中的数组

时间:2011-04-29 14:01:34

标签: actionscript-3

我遇到了数组索引的问题;

我声明了两个数组:

var array1:Array=["A", "B", "C"];
var array2:Array=["D", "E", "F"];

我们有两个数组,目标:我们需要选择数组元素A,索引打开或消除,相应的数组元素由索引A,项目D组成。 如果我选择B-> E和e.t.c,我已经逐个循环但不能......我是ActionScript的新手

3 个答案:

答案 0 :(得分:3)

trace (array2[array1.indexOf("A")]);

将追溯“D”。这就是你追求的吗?听起来你正在寻找 Array.indexOf()函数。

答案 1 :(得分:1)

听起来你真的想要使用Dictionary而不是Arrays: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/Dictionary.html

使用字典,您可以使用“A”作为访问元素“D”的键。


虽然没有看到更多代码和/或了解更多有关您的用例的信息,但很难说清楚。例如,我假设您不能简单地为两个数组使用相同的数组索引,因为“A”是由用户输入的。

答案 2 :(得分:0)

我不明白你的要求是什么,但我希望这是它的答案:

package 
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class Main extends Sprite 
    {
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);

        }// end function

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);

            var table:Array = [["A", "B", "C"],
                               ["D", "E", "F"]];

            traceColumn(table, 0);
            trace("\n");
            traceColumn(table, 1);
            trace("\n");
            traceColumn(table, 2);

            // output: A
            //         D
            //
            //         B
            //         E
            //
            //         C
            //         F

        }// end function

        private function traceColumn(table:Array, column:int):void
        {
            for each(var row:Array in table)
            {
                trace(row[column]);

            }// end for each

        }// end function

    }// end class

}// end package