Lua删除table中数据必须知道的小技巧

可以直接删除的,你只要不用 ipairs 就行了,直接这样用 for k,v in pairs(XX) do … end 。用 pairs

循环当中删除table元素是大忌!!!!!所以不可以这么做,需要做标记,循环完后删除

我用的递归删除,测试没有问题。

对于第一种方法,可以有更简单的实现
local a = {11,12,13,13,15,13,13,17,18}
for i=#a,1,-1 do

if a【i】 == 13 then

      table.remove(a, i)
end

end
print(unpack(a))—Cocos2d: 11 12 15 17 18

if a == 13 改成 if a* == 13*

local a = {11,12,13,13,15,13,13,17,18}这个table
用for k,v in pairs(XX) do … end
和for i,v in ipairs(XX) do … end
是一样的

聪明啊 :2: :2: :2:

原来要从后面开始移除,
local t = {a = 1}
t = nil
也很实用