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

How to add numbers in array via a loop in AS3?

var arr: Array = [1, 2, 3, 4, 5, 6, 7, 8, 9];

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

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));

我正在尝试实现类似的功能。 谢谢。

很简单。您可以通过方括号表示法寻址 Array 的元素。双向工作:

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

// Output the 10-th element of A.
trace(A[10]);

此外,您甚至不需要提前分配元素,Flash Player会自动调整Array的长度:

// 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]

所以,你的脚本是正确的:

// 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;
}

请记住,Arrays 是从 0 开始的,因此如果您忘记索引 0,它将保持未设置状态(它将是 null).