その項目のインデックス値が静的ではないため、インデックスではなく配列から特定の要素を削除したいと考えています。AS3で配列から特定の要素を名前で削除する
myarray.splice(myclip, 1);
このコードを使用すると、フラッシュでは配列の最初の要素が削除されます。 ここには何かがありますか?
その項目のインデックス値が静的ではないため、インデックスではなく配列から特定の要素を削除したいと考えています。AS3で配列から特定の要素を名前で削除する
myarray.splice(myclip, 1);
このコードを使用すると、フラッシュでは配列の最初の要素が削除されます。 ここには何かがありますか?
両方のパラメータは整数である必要があり、最初のものは削除したい要素の位置であり、2つ目は、削除したい元素の量です。お試しくださいmyarray.splice(myarray.indexOf(myclip),1);
スニペットの最初の要素のみが削除される理由はわかりませんが、おそらく内部的にはmyclip
が0にキャストされますか?問題ではありません。indexOf
を使用してください。それが動作しない場合は、最初に位置を取得する配列をループします。
myarray.indexOf(myclip)を使用すると、名前で要素を選択してスプライスの番号に変換できます – Koden
単一の要素を削除することができますその 'myarray.removeAt(myarray.indexOf(myclip));'はより簡潔です。 – BadFeelingAboutThis
私が使用しているバージョンでは動作しないようです – Koden
[ドキュメント](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html#splice())を読んだことがありますか?両方のパラメータは整数でなければなりません。最初の要素は削除する要素の**位置**です。もう1つは削除する要素の量です。 'myarray.splice(myarray.indexOf(myclip)、1);'あなたのスニペットの最初の要素だけを削除する理由がわからない、おそらく内部的に 'myclip'を0にキャストしますか?関係ないです、 'indexOf'を使ってください。それが動作しない場合は、最初に位置を取得する配列をループします。 – DodgerThud
はうまく動作しますので、回答として追加して回答することができます – Koden