在lua開發中,數據保存一般都會用tabel來保存,但是在用到table之後,我們都會去清理table,那麼我該怎麼做呢?
我們會調用到table中的remove函數來清理,但是需要注意的是,remove(table,[pos]),刪除在pos位置上的元素,後面的元素會向前一棟,然後刪除的index會向前移動,導致刪除後的數據不是你想要的,那麼需要怎麼做呢,我們就採取從後面刪除,這樣就可以解決問題了,代碼如下:
--刪除table數據
function GameClientEngineM:removeTableData(dataTabel)
-- body
if dataTabel ~= nil then
--todo
for i = #dataTabel, 1, -1 do
if dataTabel[i] ~= nil then
--todo
table.remove(self._publicCard, i)
end
end
end
end
只需要把你的table傳進去即可。