Sorting 按任意值排序lua表
我有一个具有以下结构的表:Sorting 按任意值排序lua表,sorting,lua,lua-table,Sorting,Lua,Lua Table,我有一个具有以下结构的表: table = { [1] = {"something", "high"} [2] = {"something else", "low"} [3] = {"something further", "medium"}, [4] = {"yet more something", "medium"}, } 我要做的是,使用委托函数用table.sort()对该表进行排序,以便优先级变量(高、低、中等)对列表进行排序,列表中紧跟高,然后紧跟中
table = {
[1] = {"something", "high"}
[2] = {"something else", "low"}
[3] = {"something further", "medium"},
[4] = {"yet more something", "medium"},
}
我要做的是,使用委托函数用table.sort()对该表进行排序,以便优先级变量(高、低、中等)对列表进行排序,列表中紧跟高,然后紧跟中,然后紧跟低。我该怎么做呢?您似乎知道
table.sort
是如何工作的,那么您在哪里呢?
只需创建一个查找表,将优先级名称转换为整数,然后比较:
priorities = {high = 2, medium = 1, low = 0}
table.sort(t, function(e1, e2)
return priorities[e1[2]] > priorities[e2[2]]
end)
您似乎知道
table.sort
是如何工作的,那么您在哪里呢?
只需创建一个查找表,将优先级名称转换为整数,然后比较:
priorities = {high = 2, medium = 1, low = 0}
table.sort(t, function(e1, e2)
return priorities[e1[2]] > priorities[e2[2]]
end)
table.sort(t,
功能(e1、e2)
返回e1[2]:sub(-1)
表格。排序(t,
功能(e1、e2)
返回e1[2]:sub(-1)
这个想法很有趣,但非常晦涩和不灵活,你不觉得吗?我只是想补充一点注意事项,因为这是一个非常紧凑的解决方案,但我认为不应该进入生产代码;)@昙花一现-请不要将我的解决方案嵌入到生产代码中:-)这个想法很有趣,但非常模糊和不灵活,你不认为吗?我只是想补充一点注意事项,因为这是一个非常紧凑的解决方案,但我认为不应该将其放入生产代码中;)@昙花一现-请不要将我的解决方案嵌入生产代码:-)