Actionscript 3 以字符串actionscript3的形式从数组中获取每个元素

Actionscript 3 以字符串actionscript3的形式从数组中获取每个元素,actionscript-3,flash,flash-cs6,Actionscript 3,Flash,Flash Cs6,我有一个类似var测试的数组:数组=新数组(“a”、“b”、“c”);如何编写一个方法来获取一个元素,并在每次调用此方法时使其成为字符串。i、 e当我调用该方法时,它应该只返回'a',下次只返回'b',依此类推 您可以使用数组的函数shift,这里有一个关于该函数的链接 您可以使用数组的函数shift,这里有一个关于该函数的链接 @Pan的回答是正确的,但我觉得有必要指出这样一个事实,即shift()触发了一个极其缓慢的过程,即重新索引整个数组。您不必像示例中那样关注小型阵列,但对于大型阵列,如

我有一个类似var测试的数组:数组=新数组(“a”、“b”、“c”);如何编写一个方法来获取一个元素,并在每次调用此方法时使其成为字符串。i、 e当我调用该方法时,它应该只返回'a',下次只返回'b',依此类推

您可以使用数组的函数shift,这里有一个关于该函数的链接


您可以使用数组的函数shift,这里有一个关于该函数的链接


@Pan的回答是正确的,但我觉得有必要指出这样一个事实,即
shift()
触发了一个极其缓慢的过程,即重新索引整个数组。您不必像示例中那样关注小型阵列,但对于大型阵列,如果先使用
reverse()
阵列,然后使用
pop()
,则会显著提高性能。我将在下面创建一个性能比较

设置我们的测试阵列:

var shiftCopy:Array = [];
var popCopy:Array = [];

for(var i:int = 0; i < 100000; i++)
{
    var rand:Number = Math.random() * i;

    shiftCopy.push('a' + rand);
    popCopy.push('a' + rand);
}
我的结果:

shift:  1651ms
pop:    19ms

@Pan的回答是正确的,但我觉得有必要指出这样一个事实,即
shift()
触发了一个极其缓慢的过程,即重新索引整个数组。您不必像示例中那样关注小型阵列,但对于大型阵列,如果先使用
reverse()
阵列,然后使用
pop()
,则会显著提高性能。我将在下面创建一个性能比较

设置我们的测试阵列:

var shiftCopy:Array = [];
var popCopy:Array = [];

for(var i:int = 0; i < 100000; i++)
{
    var rand:Number = Math.random() * i;

    shiftCopy.push('a' + rand);
    popCopy.push('a' + rand);
}
我的结果:

shift:  1651ms
pop:    19ms