1

我有一个数组

var arr:Array = new Array( {num1:1, num2:2}, {num1:1, num2:2} );

我想像这样获得第一个内部数组的长度:

trace(arr[0].length); //should return 2 but it doesnt work

还有为什么arr[0][0]不起作用?我必须指定arr[0]['name']

4

1 回答 1

5

您正在声明一个对象数组...,

数组数组就像

var arr:Array = new Array( [1,2],[1,2] );

然后你就可以拥有你的 arr[0].length。


要将名称添加为索引,您可以使用您的第一个声明,并稍作修改,

 var arr:Array = new Array( {num1:[1,2], num2:[2]}, {num1:[1,2,3], num2:[1,2]} );

所以现在我们有一个数组 arr ,其中包含包含数组的对象,以读取您可以的元素:

for each(var o:object in arr){
   o.num1.length(); // give you the legth of the array inside num1 = 2 for the first case,
   o.num2.length(); 
}

问题是,数组中的所有对象是否相同?因为如果他们不这样做,您将很难阅读这些元素......让我知道,我希望这会有所帮助......干杯!


找到了其他可能对您有帮助的东西,数组访问,您可以使用类似这样的东西进行访问:obj["num"+1]这使其更加动态且更易于处理

于 2013-10-09T18:10:10.913 回答