AS3从数组中删除对象?

时间:2013-03-06 16:46:55

标签: actionscript-3

我使用这行代码删除了一个元素:

tiles.splice(tiles.indexOf(tiles[i]), 1);

然而,当我检查该值时,它仍然不为空,事实上,它仍然包含它内部的movieclip。

这虽然有效:

tiles[tr] = null;

问题是,这样做还可以吗? 我已将movieclips添加到此数组并删除,我输入removeChild(tiles [tr];在从阵列中删除它之前。

我只是不想在将来遇到一些可怕的表现,

感谢。

1 个答案:

答案 0 :(得分:1)

splice从数组中删除元素,并且所有上述元素都向下移动一个元素。这也体现在Array的长度上。 所以你找到的元素是下一个元素。 只是将它归零就可以做到这一点。将数组的其余部分保留为空位置。

如果我已经是你需要的位置,你也不需要调用indexOf。

tiles.splice(i, 1)

会做的。