在Lua表中,如何最好地找到特定值的键 在嵌套情况下(以下表格,源自JSON)?
[{"Code": "AF", "Name": "Afghanistan"},
{"Code": "AL", "Name": "Albania"},
...
]
例如,我可以使用table [2] [“ Name”]来获取“ Albania”,但是如何仅通过指定“ Albania”来获取[2]?
答案 0 :(得分:2)
遍历数组并测试每个值:
for i,v in ipairs(table) do
if v.Name == "Albania" then
return v.Code
end
end
您还可以将值作为键对放入一次新表中,以便直接查询:
local codeFromName={}
for i,v in ipairs(table) do
codeFromName[v.Name]=v.Code
end
答案 1 :(得分:0)
734509.0313
使用srting.match代替v.Name ==“ Albania”,因为Ive意识到在其他情况下可能存在国名,但可能并不完全相同。