1、下面迭代删除 只删除一个数据没问题 > 1 个数据 只能删除 一半或者一半+1个
for k,v in ipairs(arr) do
if v.xxx = xxx then
table.remove(arr,k)
end
end
2、下面迭代删除 只删除一个没问题 删除多个会出问题 因为边迭代边删除会改变table结构导致有一些数据没有迭代到
for k,v in pairs(arr) do
if v.xxx = xxx then
table.remove(arr,k)
end
end
3、总结使用lua迭代器 中删除数据 删除一个没有问题 删除所有使用pairs也没有问题 但是删除部分数据都会出现问题 会出现偶现的bug 以上问题是项目中使用遇到的,平时练习都没有注意到 因为项目中出现问题所以分享一下遇到的坑