Lua表删除重复项

标签 lua

任何人都可以提供从数字索引中删除重复项的替代方法
将保留重复记录的表?,这个可以工作,但在
的表上 1000 个或更多条目似乎会占用 cpu,从而导致“无响应”
在应用程序中嵌入了lua。

   local Dupes ={}  
   local t2 = {};  
   for i,v in pairs(t1) do   
    Count = table.getn(t2)     
    t2[v] = i  
    Count1 = table.getn(t2)   
     if Count == Count1 then  
      table.insert(Dupes,v)  
     end  
   end  

最佳答案

我真的不明白使用getn的目的。只需测试一下它是否已经存在:

local Dupes ={}  
local t2 = {};  
for i,v in pairs(t1) do
    if(t2[v] ~= nil) then
        table.insert(Dupes,v)
    end
    t2[v] = i
end

关于Lua表删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075034/

相关文章:

linux - 如何在linux上执行luac生成的lua字节码

java - 使用正则表达式匹配 Lua 多行字符串和注释

lua - 使用 LDoc 记录函数表

arrays - 用于查找和替换文本的 Lua 字符串库选择

lua - 是否曾经记录过 `require` 在全局环境中运行 block ?

c++ - 什么时候允许在 C++ 中调用 lua_gc 同时使用 lua_newuserdata

lua - 如何执行 lua_pushstring 并避免内存不足 setjmp 异常

c++ - Lua 保留全局值

linux - Lua 库需要编译时支持兼容

android - 用于 iOS 和 Android 开发的 Corona vs Titanium