获取表格中的最大值

如何在 Corona SDK/Lua 中获取表中的最大值?

例如,我有这个表格:

local table = {
   ["item1"] = 10,
   ["item2"] = 20,
   ["item3"] = 30,
   ["item4"] = 40,
   ["item5"] = 50
}

我必须获得 item5 和其值50作为答案。

点赞
用户258523
用户258523

如果您的键不是数字,则排序无效,您只需要手动遍历表格并跟踪最大值及其关联键。

2013-07-04 03:26:43
用户1847592
用户1847592
local max_val, key = -math.huge
for k, v in pairs(your_table) do
    if v > max_val then
        max_val, key = v, k
    end
end
print(key, max_val)
local max_val, key = -math.huge
-- 遍历表格,找到最大值及其对应的键
for k, v in pairs(your_table) do
    if v > max_val then
        max_val, key = v, k
    end
end
-- 输出最大值和对应的键
print(key, max_val)
2013-07-04 04:44:48