如何在lua表中找到特定项目的数量?

我有一个表格

myTable = {
    {"apple","10"},
    {"banana","20"},
    {"carrot","30"}
}

是否有特定的lua代码可以找到"apple"项目的编号? 或者我需要检查myTable表中的每个项目,才能找到"apple"?

原文链接 https://stackoverflow.com/questions/69502849

点赞
stackoverflow用户2858170
stackoverflow用户2858170

如果你只需要执行一次操作,你可以使用如下循环:

for i,v in ipairs(myTable) do
  if v[1] == "apple" then
    print("found apple at index " .. i)
  end
end

如果你需要多次执行类似操作,你可以创建一个查找表,这样只需要遍历一次表。

local lut = {}
for i, v in ipairs(myTable) do
  lut[v[1]] = i
end

local appleIndex = lut.apple
local carrotIndex = lut.carrot
2021-10-09 10:59:37