LUA - 是否可以在多维 table 中获取索引值?

LUA - Is possible to get values of an index in a multidimensional table?

可以get/return 多维索引中的多个值array/table? 我尝试了很多方法,但 none 似乎有效,或者至少我不知道如何实施它们,因为我是 Lua.

的新手

这是我到目前为止所做的或得到的,我的 table 看起来像这样:

data = {
   ["oranges"] = {
      ["price"] = {
         "0.23",
      },
      ["location"] = {
         ["nearest"] = {
            "Russia",
            "United States",
         },
         ["farthest"] = {
            "Brazil",
            "Australia",
         },
      },
   },
   -- More...
}

我想要的是来自 ["nearest"] 的所有值 我正在使用的功能一团糟但很好:

function getNearestLocation(data)
   for k, v in pairs(data) do
      if v == "oranges"
      then
         -- Whatever I do here can't get it to work.
         for data, subdata in pairs({v}) do
            if subdata == "location"
            then
               return subdata["nearest"]
            end
         end
      end
   end
end

然后可以得到 {"Russia","United States"} 例如。提前致谢。

您要找的table是data["orange"]["location"]["nearest"]

如果你需要一个功能,使用

function getNearestLocation(data)
   return data["orange"]["location"]["nearest"]
end