您的位置:首页 > 编程语言 > Lua

Lua实现遍历表格,确保其中的值唯一

2016-07-05 16:00 393 查看
-- 遍历表格,确保其中的值唯一

-- @function [parent=#table] unique

-- @param table t 表格

-- @param boolean bArray t是否是数组,是数组,t中重复的项被移除后,后续的项会前移

-- @return table#table  包含所有唯一值的新表格

local t = {"a", "a", "b", "c"} -- 重复的 a 会被过滤掉

local n = table.unique(t)

for k, v in pairs(n) do

    print(v)

end

-- 输出

-- a

-- b

-- c
function table.unique(t, bArray)
local check = {}
local n = {}
local idx = 1
for k, v in pairs(t) do
if not check[v] then
if bArray then
n[idx] = v
idx = idx + 1
else
n[k] = v
end
check[v] = true
end
end
return n
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: