Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 使用字符串键进行表排序_Sorting_Lua_Lua Table - Fatal编程技术网

Sorting 使用字符串键进行表排序

Sorting 使用字符串键进行表排序,sorting,lua,lua-table,Sorting,Lua,Lua Table,这张桌子我需要帮忙 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 只有具有数字索引的表元素才具有顺序。不能对键为字符串的表进行排序。因此,您的第一步是创建一个实际具有订单的表。通过迭代当前表的

这张桌子我需要帮忙

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

只有具有数字索引的表元素才具有顺序。不能对键为字符串的表进行排序。因此,您的第一步是创建一个实际具有订单的表。通过迭代当前表的元素并在基于当前表的新表中插入一个值来完成此操作,该表同时包含键和值

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

一旦有了实际数组,就可以使用
表对其进行排序。sort

表无法排序。不过,您可以对键进行排序。我有一个简单的解决方案| |函数表ORTBBYVALUE(tbl)——按表数组上的第一个值排序{}for,i in pairs(tbl)do table.insert(i,)--tbl={[1…]={1,1,name}数组[table.getn(array)+1]=i end table.sort(数组,函数(a,b)返回[1]>b[1]end)返回数组end