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

相关文章
相关标签/搜索