我遇到了数组索引的问题;
我声明了两个数组:
var array1:Array=["A", "B", "C"];
var array2:Array=["D", "E", "F"];
我们有两个数组,目标:我们需要选择数组元素A,索引打开或消除,相应的数组元素由索引A,项目D组成。 如果我选择B-> E和e.t.c,我已经逐个循环但不能......我是ActionScript的新手
答案 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