【Lua】Table根据value排序
来源:互联网 发布:can网络数据帧 编辑:程序博客网 时间:2024/06/05 17:08
使用lua开发需要把有用的数据全部存进Table里,lua也提供了一个sort接口来给table排序,但是sort的实现也是基于冒泡排序,他默认table的key是从1开始的,
这样就会造成当我们的key是一些特殊的标志位,比如游戏中背包数据的GUID,就会无法正常排序。所以我们需要单独封一个接口来实现通过value来排序的功能
下面就以装备列表中,Key为GUID 通过装备部位来排序的例子
function pairsByKeys(t) local tempTable = { } for i,v in pairs(t) do local temp = #tempTable + 1 tempTable[temp] = {} tempTable[temp].guid = i tempTable[temp].EquipPart = v.EquipPart end table.sort(a,function(m,n) return m.EquipPart < n.EquipPart end) local count = 0 return function() count = count + 1 local k = tempTable[count] local v = nil if k then k = tempTable[count].guid v = testc[tempTable[count].guid] end return k,v end endOK
当我们需要排序的时候类似这样 for i,v in pairsByKeys(t) do 就可以让装备补位从小到大输出了
0 0
- 【Lua】Table根据value排序
- Lua封装根据某一列排序Table
- Map根据value排序
- Map 根据value 排序
- HashMap根据value排序
- hashmap根据value排序
- lua的table排序
- lua的table排序
- lua的table排序
- lua(2) table排序
- lua 的table排序
- lua的table排序
- lua的table排序
- lua table排序
- Lua table键值排序
- lua table排序
- lua: attempt to call a table value
- lua: attempt to call a table value .
- leetcode 214. Shortest Palindrome leetcode 5. Longest Palindromic Substring回文串相关
- PHP获取日期的一些方法总结
- 全排列算法思路解析
- POJ 3660 Cow Contest 最短路线
- 目录重定向
- 【Lua】Table根据value排序
- 中介者模式
- 在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
- Android 类似未读短信消息图标显示的实现分析
- 机器学习之-逻辑回归-具体怎么实现及应用
- Spark Streaming实时计算框架介绍
- JavaEE平台下CRM系统开发
- VMware 虚拟机安装 ubuntu系统和VMware Tool
- IOS中Hybird的数据驱动与脚本驱动的实现