首页 > 解决方案 > 如何按值对表进行排序,然后按顺序打印索引

问题描述

我想t使用以下格式创建一个表。

t[uniqueID] = order

uniqueID是唯一的,但order每次都可以相同或不同。

然后我想按升序对表格进行排序,以便我可以uniqueID相应地打印。

我的代码:

t = {}

function compare(a, b)
    return a[2] < b[2]
end

function printid()
    for k, v in pairs(t) do
        print(k)
    end
end

function main()
    t[5] = 47
    t[6] = 45
    t[7] = 49
    table.sort(t, compare)
    printid()
end

我得到的结果:

5
6
7

我期望的结果:

6
5
7

我怎样才能得到我想要的结果?

标签: lualua-table

解决方案



推荐阅读