2010-02-01 37 views
0

我在处理actionScript中的数组时遇到了问题。我通过array.pop()删除了数组的最后一个元素。之后,我想将这个被移除的显示对象放回到数组的开头:array.unshift(object)。该对象现在是数组的第一个元素,但它仍旧保留其旧标签(最后一个元素的编号)。因此,我无法更新显示对象的位置(图形)。是否有可能“重新索引”阵列?如何重置数组索引? actionscript3

+0

这个“对象”是怎么样的?是标签“对象”的属性? – bhups 2010-02-01 09:05:43

+0

该标签是一个数字“我”,因为该数组将在for循环中处理。因此不移位看起来像这样:array.unshift(array [i]); 阵列[我]将保持它的标签,当我把它再次在阵列的开始,如何将标签再次设置为零? – algro 2010-02-01 09:24:50

回答

0

A pop ped元素不会保留它的索引,因为它将被取出数组。如果您在pop ping array[i]之后尝试登录unshift(array[i]),则会导致引用不再存在的索引时出错。

为了完成您所描述的内容,您可以说array.unshift(array.pop()),然后在array[0]处引用已移动的元素。

我在创建无限循环幻灯片时使用了上述方法。

编辑。

看来我误解了你的问题。 IIRC不可能操纵你正在遍历的数组。

请发布您遇到麻烦的片段,以获得更有教养的答案。