lua表在这样遍历时是非常危险的。
for k,v in pairs(XXX) do
。。。。。。。
table.remove(XXX,k)
end
这样遍历表会使得XXX表的后面值无法遍历到,因为remove函数在移除元素时会重新对表进行排序。
因此尽量不要如此使用,如果非要这样使用(索引为数值是),可以倒序遍历:
例:
for i=#XXX, 1, -1 do
table.remove(XXX, i)
end
lua表在这样遍历时是非常危险的。
for k,v in pairs(XXX) do
。。。。。。。
table.remove(XXX,k)
end
这样遍历表会使得XXX表的后面值无法遍历到,因为remove函数在移除元素时会重新对表进行排序。
因此尽量不要如此使用,如果非要这样使用(索引为数值是),可以倒序遍历:
例:
for i=#XXX, 1, -1 do
table.remove(XXX, i)
end