- 直接使用table的remove方法
local tab = {, , }
table.remove(tab) --默认删除最后一个元素,第二个参数可以指定删除位置
删除后,后面的元素会往前移动。有点像C++的std::vector删除一个元素一样。这个操作会改变表的长度,即#tab会-1;这很合理。
- 可以给要删除的元素赋值为nil
tab[] = nil
这种方法,相当于间接把这个元素从表中删除了。但是注意两点:
(1)表的长度不会改变,即#tab的值依然是3
(2)使用for语句遍历tab时,不会遍历完整的tab,碰到nil(tab的第二个元素)时,就停下了