-- 根据配置对活动进行排序
function pairsByUISort(_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]] --a[i] 是key值, _t[a[i]] 是value值
end
end
-- 排序因子 这里的排序因子视自己情况而定
function SortByUISort(a, b)
return btn_data_list[a].ui_order > btn_data_list[b].ui_order
end
--调用
btn_data_list ={
[3553] = {
["ui_order"] = 3
}, [3505] = {
["ui_order"] = 5
}, [3518] = {
["ui_order"] = 2
}, [3507] = {
["ui_order"] = 11
}, [3501] = {
["ui_order"] = 1
}, [3554] = {
["ui_order"] = 2
}, [3551] = {
["ui_order"] = 1
}, [3516] = {
["ui_order"] = 7
}
}
sorted_btn_data_list = {}
for k,v in pairsByUISort(btn_data_list, SortByUISort) do
sorted_btn_data_list[#sorted_btn_data_list + 1] = {id = k, data = v}
end
emmm,排序成功