如何通过 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).
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).