我有一个数组
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']
我有一个数组
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']
您正在声明一个对象数组...,
数组数组就像
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]
这使其更加动态且更易于处理