0

次のコード行を使用して、要素を削除しました。

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

その後、値を確認すると、まだ null ではありません。実際には、内部に含まれていたムービークリップがまだ含まれています。

これはうまくいきました:

tiles[tr] = null;

問題は、そのようなことをしても大丈夫なのかということです。この配列にムービークリップを追加および削除し、removeChild(tiles[tr); と入力します。アレイから削除する前に。

将来、ひどいパフォーマンスに遭遇したくないだけです。

ありがとう。

4

1 に答える 1

1

splice は配列から要素を切り取り、上記の要素はすべて 1 ステップ下に移動します。これは、配列の長さにも反映されます。したがって、見つけている要素は次の要素です。それを無効にするだけでそれができます。配列の残りの部分は、空の位置のままにしておきます。

また、 i がすでに必要な位置にある場合は、 indexOf を呼び出す必要はありません。

tiles.splice(i, 1)

しましょう。

于 2013-03-06T16:58:49.870 に答える