需求如下:
排列顺序优先级从高到低依次为:
第一:等级由高到低;
第二:稀有度由高到低;
第三:伙伴ID从高到低。
对于lua table的排序,sort函数的使用。比如先按照等级排序,然后按照品质,再按照ID排序。实现方法如下:
local function sort_(a, b)
local r
local al = tonumber(a.level)
local bl = tonumber(b.level)
local aq = tonumber(a.data.quality)
local bq = tonumber(b.data.quality)
local aid = tonumber(a.pid)
local bid = tonumber(b.pid)
if al == bl then
if aq == bq then
r = aid > bid
else
r = aq > bq
end
else
r = al > bl
end
return r
endtable.sort(tableName,sort_)