游戏中有这么个需求,在等级奖励界面,已经领取的奖励往后排,可以领取的奖励往前排。
这个用 Lua table 的 Sort 函数 多字段排序 可以实现
如下测试代码
--按照规定顺序排序:可以领取、不能领取、已经领取--status=0 可以领取 1不能领取 2已经领取local fundRewardtable = {}table.insert(fundRewardtable,{index=0,itemReward="3001_2|3002_1",propReward="9_10000|12_50",status=2})table.insert(fundRewardtable,{index=1,{index=2,status=0})table.insert(fundRewardtable,{index=3,{index=4,{index=5,{index=6,status=1})table.insert(fundRewardtable,{index=7,{index=8,status=1})for i,v in ipairs(fundRewardtable) do print(v.index,v.status)endprint("-------------------")--排序table.sort( fundRewardtable,function ( a,b ) -- body if a.status==b.status then return a.index<b.index end return a.status < b.statusend )for i,v.status)end
代码运行结果
0 21 22 03 24 05 26 17 18 1-------------------2 04 06 17 18 10 21 23 25 2[Finished in 0.0s]总结
以上是内存溢出为你收集整理的Lua Table 多字段排序全部内容,希望文章能够帮你解决Lua Table 多字段排序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)