Actionscript 3 如何通过AS3中的循环在数组中添加数字?

Actionscript 3 如何通过AS3中的循环在数组中添加数字?,actionscript-3,Actionscript 3,我可以像这样将这些数字分别添加到数组中,但是如何一次将1添加到50,而不是一路输入 var arr: Array = [1, 2, 3, 4, 5, 6, 7, 8, 9]; (变量i:Number=1;i.5)的?1 : -1; } 跟踪(arr.sort(随机化)); 我正在尝试实现类似的东西。 谢谢。非常简单。您可以通过方括号表示法处理数组的元素。这两种方式都适用: for (var i:Number=1; i<=50;i++){ var arr:Array(i) = [i];

我可以像这样将这些数字分别添加到数组中,但是如何一次将1添加到50,而不是一路输入

var arr: Array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
(变量i:Number=1;i.5)的
?1 : -1;
}
跟踪(arr.sort(随机化));
我正在尝试实现类似的东西。
谢谢。

非常简单。您可以通过方括号表示法处理数组的元素。这两种方式都适用:

for (var i:Number=1; i<=50;i++){
var arr:Array(i) = [i];
}

function randomize(a: * , b: * ): int {
    return (Math.random() > .5) ? 1 : -1;
}

trace(arr.sort(randomize));
此外,您甚至不需要预先分配元素,Flash Player将自动调整数组的长度:

// Assign 1 to 10-th element of Array A.
A[10] = 1;

// Output the 10-th element of A.
trace(A[10]);
因此,您的脚本大致正确:

// Declare the Array variable.
var A:Array;

// Initialize the Array. You cannot work with Array before you initialize it.
A = new Array;

// Assign some random elements.
A[0] = 1;
A[3] = 2;

// This will create the following A = [1, null, null, 2]
//初始化数组。
var arr:Array=新数组;
//从1迭代到50。

对于(var i:int=1;i),最好将“arr[i]=i”更改为“arr.push(i)”,否则数组的第一个位置将有一个悬空的null值(如果执行arr[i]=i,则arr[0]将为null),数组的length属性将是51而不是50。此外,定义的正确语法是“var arr:array=new array();”或“var arr:Array=[];"@Joseph 1.在我的答案的末尾,我在零索引处写了一个关于null的注释。正如你所看到的,我完全知道。但由于某种原因,OP使它保持不变,我也是。2.var arr:Array=new Array;line也是初始化数组的正确方法。在AS3中,如果没有强制参数,你可以用新运算符省略构造函数括号。cer平心而论,我并没有否定你的回答。我的回答是帮助你思考他所做的事情的影响以及标准的风格。问候。
// Initialize the Array.
var arr:Array = new Array;

// Iterate from 1 to 50.
for (var i:int = 1; i <= 50; i++)
{
    // Assign i as a value to the i-th element.
    arr[i] = i;
}