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