可以执行如下操作: function getKeysSortedByValue(tbl, sortFunction)
local keys = {}
for key in pairs(tbl) do
table.insert(keys, key)
end
table.sort(keys, function(a, b)
return sortFunction(tbl[a], tbl[b])
end)
return keys
end
items = {
[1004] = "foo",
[1234] = "bar",
[3188] = "baz",
[7007] = "quux",
}
local sortedKeys = getKeysSortedByValue(items, function(a, b) return a < b end) SortedKeys是{1234,3188,1004,7007},可以这样访问数据: for _, key in ipairs(sortedKeys) do
print(key, items[key])
end 输出: 1234 bar
3188 baz
1004 foo
7007 quux ... 展开详请