在lua中如何remove掉table裏面的數據

在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傳進去即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章