如何在嵌套的 Lua 表结构中删除一个表

我有一个嵌套的 Lua 表结构,我想删除其中一个表。

示例:

for k, v in pairs (data) do
   local element = v
      for i=1, #element do
              if (element[i].ttype == "ENUM") then
              -- 做某事
              --> 删除它!
      end
 end

我可以将其设置为 nil,但这并没有“删除”它。我希望它删除它并适应其余元素的新索引。是否有 Lua 中的某些方法可以解决这个问题?

点赞
用户3735873
用户3735873

使用 table.remove() 函数来删除列表中的元素。

注意,如果在循环中进行此操作,由于列表的长度会动态变化,因此要非常小心。你可能需要手动检查是否为 nil 或使用 while 循环来替代。

查看这里:https://www.lua.org/manual/5.3/manual.html#pdf-table.remove

2017-05-04 11:55:33