如何 运行 table 并打印特定的键
How to run table and print a specific key
我有一个 table:
employee = {
name = "John", age = 30,
name = "George", age = 35
}
现在,我想 运行 整个 table,如果找到名字 "George",则打印相应的年龄。我怎样才能做到这一点?根据我的搜索,我发现您可以 运行 一个代码为 for k, v in pairs(employee) do
的列表,但我不知道如何从那里继续。
您的 table 需要重组才能开始。
employee = {
{name = "John", age = 30},
{name = "George", age = 35},
}
这将使年龄始终与姓名匹配。那么你可以 运行:
for _,v in ipairs(employee) do
if v.name == "George" then
return v.age
end
end
您甚至可以将其创建为一个函数,这样您就可以检查您想要的任何名称:
function find_age(n)
for _,v in ipairs(employee) do
if v.name == n then
return v.age
end
end
end
当然,这将 return table 中每个 n
的年龄。
已更新评论
你也可以用一个函数来完成。
function add_employee(n,a)
table.insert(employee, {name = n, age = a})
end
我有一个 table:
employee = {
name = "John", age = 30,
name = "George", age = 35
}
现在,我想 运行 整个 table,如果找到名字 "George",则打印相应的年龄。我怎样才能做到这一点?根据我的搜索,我发现您可以 运行 一个代码为 for k, v in pairs(employee) do
的列表,但我不知道如何从那里继续。
您的 table 需要重组才能开始。
employee = {
{name = "John", age = 30},
{name = "George", age = 35},
}
这将使年龄始终与姓名匹配。那么你可以 运行:
for _,v in ipairs(employee) do
if v.name == "George" then
return v.age
end
end
您甚至可以将其创建为一个函数,这样您就可以检查您想要的任何名称:
function find_age(n)
for _,v in ipairs(employee) do
if v.name == n then
return v.age
end
end
end
当然,这将 return table 中每个 n
的年龄。
已更新评论
你也可以用一个函数来完成。
function add_employee(n,a)
table.insert(employee, {name = n, age = a})
end