Lua表元素去重小测试

local tab1 = {1,2,3,5,9,7,8}
local tab2 = {3,4,5,7,6,2}

local tab3,tab4  = {},{}

for _,v in pairs(tab2) do
	tab1[#tab1 + 1] = v
end

for _,v in  pairs(tab1) do
	tab3[v] = true
end

for k in pairs(tab3) do
	tab4[#tab4 +1]= k
end

table.foreachi(tab4, print)

-- 数组表去除重复元素
function ArrayTableUnique(t)
  local check = {}
  local n = {}

  for key, value in ipairs(t) do
	if not check[value] then
	  check[value] = value
	  n[#n +1] = value
	end
  end

  return n
end

-- 哈希表去除重复元素
function TableUnique(t)
  local check = {}
  local n = {}

  for key, value in pairs(t) do
    print ("key="..key, "value="..value)
	if not check[value] then
	  check[value] = value
	  n[key] = value
	end
  end

  return n
end


print "---------------------------"
local t = ArrayTableUnique(tab1)
table.foreachi(t, print)

  

相关文章

1.github代码实践源代码是lua脚本语言,下载th之后运行thmai...
此文为搬运帖,原帖地址https://www.cnblogs.com/zwywilliam/...
Rime输入法通过定义lua文件,可以实现获取当前时间日期的功能...
localfunctiongenerate_action(params)localscale_action=cc...
2022年1月11日13:57:45 官方:https://opm.openresty.org/官...
在Lua中的table(表),就像c#中的HashMap(哈希表),key和...