浅析Lua中table的遍历
来源:互联网 发布:avmo.pw新域名 编辑:程序博客网 时间:2024/05/18 20:07
原文:http://rangercyh.blog.51cto.com/1444712/1032925
tbtest = { [1] = 1, [10000] = 2, } local count = 0 for i=1, table.maxn(tbtest) do count = count + 1 print(tbtest[i]) end print(count)
你会看到打印结果是多么的坑爹,只有1和10000是有意义的,其他的全是nil,而且count是10000。耗时非常久。一般我不这么遍历。但是有一种情况下又必须这么遍历,这个在我的工作中还真的遇到了,这是后话,等讲完了再谈。
function pairsByKeys(t) local a = {} for n in pairs(t) do a[#a+1] = n end table.sort(a) local i = 0 return function() i = i + 1 return a[i], t[a[i]] end end
然后在遍历的时候使用这个迭代器就可以了,table同上,遍历如下:
for key, value in pairsByKeys(tbtestAward) do if nSeq <= key then return key end end
0 0
- 【Lua】浅析Lua中table的遍历
- 【Lua】浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- 浅析Lua中table的遍历
- DecimalFormat用法
- CListCtrl::GetItemText
- 闩锁(latch)概述
- 关于php中运行shell脚本的权限问题
- 编写一个函数,从标准输入读取一列整数, 把这些值存储在一个动态分配的数组中并返回这个数组。 函数通过观察EOF判断输入列表是否结束。 数组的第一个数是数组包含的值的个数, 它的后面就是这些整数值。
- 浅析Lua中table的遍历
- iOS:Objective-C中Self和Super详解
- 性能调优:ViewPager快速切换时卡顿的解决方案——Fragment内容延迟加载
- show()、showDialog()
- 处理csv文件
- Core Graphics 绘图
- 通过 Membership用户存储验证用户凭据,实现会员控制
- Perl: 编程注意细节杂记
- 记述