我有一个动态类,它有一个正常声明的数组,在运行时之前。
通常,您可以动态访问变量,无论是否已使用
声明myClass["variable"] = 4;
然而,试图用数组做这个,就像这样
myClass["array[0]"] = 4;
不会将4存储到数组的第一个元素中,而是将其存储到变量“array [0]”中。
例如,执行上一个代码后,
trace(myClass.array[0]);
跟踪未定义,其中为
trace(myClass["array[0]"]);
痕迹4。
无论如何我可以动态访问数组的元素吗?
答案 0 :(得分:5)
不要将其视为评估字符串。它仍然只是一系列属性。
所以你问题的实际答案是:
var o:Object = {};
o["array"] = []; //we do have to insantiate the array first
o["array"][0] = 4;