--排列顺序优先级从高到低依次为:
--1:是否在线
--2:公会职位
--3:贡献度
--4:a,b为需要排序的两个table
local function SortByPosition(a, b)
local r
local a_is_online = a.is_online
local b_is_online = b.is_online
local a_authority = a.authority
local b_authority = b.authority
local a_total_contribution= a.total_contribution
local b_total_contribution = b.total_contribution
if a_is_online == a_is_online then
if a_authority == a_authority then
r = a_total_contribution> a_total_contribution
else
r = b_authority > b_authority
end
else
r = a_is_online > a_is_online
end
return r
end
-- 排序迭代器
function pairsBySort(_t, func)
local a = {}
for n in pairs(_t) do a[#a + 1] = n end
table.sort(a, func)
local i = 0
return function()
i = i + 1
return a[i], _t[a[i]]
end
end
-- not_online_members为需要排序的table值,已存在
-- GetSortTable为获取排序后的table
GetSortTable = {}
for i,v in pairsBySort(not_online_members, SortByPosition) do
GetSortTable[#GetSortTable+ 1] = v
end
lua多条件排序table
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 多条件 and 查询 条件同时满足 多条件 or 查询 条件至少满足一个 区间查询 另外集合方式查询 in()...
- 依赖 建立索引 本次增加了Float、Int类型的域 搜索排序 范围搜索 查询score范围在1~5之间的文档,对...