根据排序需求,自定义pairs方法

-- 根据配置对活动进行排序
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,排序成功

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容