gpt4 book ai didi

Lua表差异键函数

转载 作者:行者123 更新时间:2023-12-01 12:05:02 25 4
gpt4 key购买 nike

我如何检查一个表(作为数组)是否包含另一个表的所有键?类似于 PHP 中的 array_diff_key: https://www.php.net/manual/en/function.array-diff-key.php

这个函数应该返回,例如,["firstLevel"]["e"] 因为这个元素在 tblTwo 中不存在:

tblOne = {
["firstLevel"] = {
["a"] = "something",
["b"] = "something",
["c"] = "something",
["subLevel"] = {
["d"] = "something",
["e"] = "something",
}
}

tblTwo = {
["firstLevel"] = {
["a"] = "something",
["b"] = "something",
["c"] = "something",
["subLevel"] = {
["d"] = "something",
}
}

最佳答案

试试下面的代码:

function diff(a,b,s)
for k,v in pairs(a) do
if b[k]==nil then return s.."."..k end
if type(v)=="table" then
local w=diff(v,b[k],k)
if w~=nil then return s.."."..w end
end
end
end

print(diff(tblOne,tblTwo,"TOP"))

关于Lua表差异键函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58235299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com