lua table间的排序问题

890 阅读1分钟

首先是单纯的数字排序。。。

-- local test1 ={1,3,2,5,3,8,4,6}

-- table.sort(test1) --从小到大排序

-- table.sort(test1, function(a,b) return a > b end) --从大到小排序

其次是表单table的排序。。。

local test2 ={

{ lv=1, name="ab" },
{ lv=9, name="bc" },
{ lv=2, name="cd" },
{ lv=8, name="de" },
{ lv=5, name="ef" },

}

table.sort(test2,function(a,b) return a.lv > b.lv end ) -- 从大到小排序

最后是kv键值排序。。。

local test3 ={a=1,b=5,c=2,d=6,e=5}

local test4 ={}

for i in pairs(test3) do

table.insert(test4,i) -- 把test3中kv添加到test4中

end

table.sort(test4) -- 从小到大排序

这个排序问题是因为遇到了一些条件优先级问题时用到的,因为一些原因mysal里的排序不能使用