Lua表格使用字符串键进行排序。

我需要在这个表格上得到帮助:

tbl = {
     Noa = {10,0,3},
     melvin = {5,3,1},
     jeex = {500,0,2},
     kiim = {100,2,3}
}

我需要在这个表格中获得所有的值,并按表格上的第一个值排序。

例如。

输出>

jeex    500,0,2
kiim    100,2,3
Noa     10,0,3
melvin  5,3,1
点赞
用户734069
用户734069

只有数值索引的表才有顺序。您无法对键为字符串的表进行排序。因此,您的第一步是创建一个真正有序的表。您可以通过遍历当前表的元素并根据当前表创建一个包含键和值的新表来实现这一点。

local array = {}
for key, value in pairs(tbl) do
  array[#array + 1] = {key = key, value = value}
end

一旦您拥有了实际的数组,_然后_您可以使用 table.sort 对其进行排序。

2013-08-19 12:37:39