在lua中如何remove掉table里面的数据

在lua开发中,数据保存一般都会用tabel来保存,但是在用到table之后,我们都会去清理table,那么我该怎么做呢?
  1. 我们会调用到table中的remove函数来清理,但是需要注意的是,remove(table,[pos]),删除在pos位置上的元素,后面的元素会向前一栋,然后删除的index会向前移动,导致删除后的数据不是你想要的,那么需要怎么做呢,我们就采取从后面删除,这样就可以解决问题了,代码如下:  

 

    1. --删除table数据  
    2. function GameClientEngineM:removeTableData(dataTabel)  
    3.     -- body  
    4.     if dataTabel ~= nil then  
    5.         --todo  
    6.         for i = #dataTabel, 1, -1 do  
    7.             if dataTabel[i] ~= nil then  
    8.                 --todo  
    9.                 table.remove(self._publicCard, i)  
    10.             end  
    11.         end  
    12.     end  
    13. end 

posted on 2018-05-17 16:46  echo111333  阅读(366)  评论(0编辑  收藏  举报

导航