You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Lua中获取字典中值最大的键?

Lua中获取表中值最大的键的解决方案

首先注意:你给出的表语法不符合Lua规范,Lua里键值对需要用=而非:,修正后的表应该是这样:

myValues = {
    key1 = 123,
    key2 = 43,
    key3 = 367,
    key4 = 2
}

下面是实现需求的函数:

function getMaxKey(tbl)
    local maxValue = -math.huge
    local maxKey = nil
    -- 遍历表中的每一组键值对
    for key, value in pairs(tbl) do
        -- 如果当前值大于记录的最大值,更新最大值和对应键
        if value > maxValue then
            maxValue = value
            maxKey = key
        end
    end
    return maxKey
end

调用示例:

print(getMaxKey(myValues)) -- 输出:key3

补充说明

  • 函数初始化maxValue为-math.huge(负无穷),确保表中任何数值都能比它大,避免表中全是负数的情况出错。
  • 如果表中有多个键对应相同的最大值,这个函数会返回第一个遍历到的键,如果需要返回所有符合条件的键,可以修改函数返回一个包含所有最大键的数组。

内容的提问来源于stack exchange,提问作者Arturo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:24:52