如何 运行 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