イテレータの要素を使用してテーブルを削除します。

例:テストテーブルでもアウト削除します

 

ローカルテスト= {2、3、4、8、9、100、20、13、15、7、11}

私は、ipairsでV(テスト)を行います

  もしV%2 == 0の場合、

    table.remove(テスト、I)

  終わり

終わり

 

私は、ipairsでV(テスト)を行います

  印刷(I .. "====" .. V)

終わり

 

印刷結果:

 

1 ==== 3

2 ==== 8

3 ==== 9

4 ==== 20

5 ==== 13

6 ==== 15

7 ==== 7

8 ==== 11

 

 

結果8,20のにも多数あります。

 

各イテレータは、要素を削除するので、その要素は、自動的に前方に移動します。

 

正しい方法を削除します。

方法1:前方に戻ってから削除します

TB = {} 1,2,3,4,5,6,7,8,9,10,11,12,13,14

 

I =#tbのため、1、-1行います

      もしTB [I]%2 == 0、次いで

           table.remove(TB、I)

      終わり

終わり

 

第二の方法:横断しながら、

I = 1

私は=#1 TB <ながら行います

      もしTB [I]%2 == 0、次いで

           table.remove(TB、I)

      他

           I = I + 1

      終わり

終わり

おすすめ

転載: www.cnblogs.com/gd-luojialin/p/10962876.html