加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua – 返回表中最大或最小数字的键

发布时间:2020-12-14 21:46:57 所属栏目:大数据 来源:网络整理
导读:这里有一个简单的Lua问题:如何查找给定表中最小或最大数字的索引或键. math.max / math.min只给出实际的最大值或最小值,而不是键. 解决方法 迭代表,并将值与存储的最大/最小值进行比较.以max为例(假设表是一个序列,即类似于数组: local t = {1,3,7,6,4,0}l
这里有一个简单的Lua问题:如何查找给定表中最小或最大数字的索引或键.

math.max / math.min只给出实际的最大值或最小值,而不是键.

解决方法

迭代表,并将值与存储的最大/最小值进行比较.以max为例(假设表是一个序列,即类似于数组:

local t = {1,3,7,6,4,0}

local key,max = 1,t[1]
for k,v in ipairs(t) do
    if t[k] > max then
        key,max = k,v
    end
end

print(key,max)

输出:

3       7

如果表不是序列,那么会有一点改进:

local t = {four = 4,three = 3,seven = 7,six = 6,one = 1,zero = 0}

local key = next(t)
local max = t[key]

for k,v in pairs(t) do
    if t[k] > max then
        key,max)

在实际代码中,请记住先检查表是否为空.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读