lua的table的刪除操做

  • 直接使用table的remove方法
local tab = {1, 2, 3}
table.remove(tab)    --默認刪除最後一個元素,第二個參數能夠指定刪除位置

刪除後,後面的元素會往前移動。有點像C++的std::vector刪除一個元素同樣。這個操做會改變表的長度,即#tab會-1;這很合理。spa

  • 能夠給要刪除的元素賦值爲nil
tab[2] = nil

這種方法,至關於間接把這個元素從表中刪除了。可是注意兩點:code

(1)表的長度不會改變,即#tab的值依然是3blog

(2)使用for語句遍歷tab時,不會遍歷完整的tab,碰到nil(tab的第二個元素)時,就停下了rem

相關文章
相關標籤/搜索