pairs会遍历table的所有键值对。

而ipairs就是固定地从key值1开始,下次key累加1进行遍历,如果key对应的value不存在,就停止遍历。顺便说下,记忆也很简单,带i的就是根据integer key值从1开始遍历的。

请看个例子。

tb = {"oh", [3] = "god", "my", [5] = "hello", [6] = "world"}

for k,v in ipairs(tb) do
print(k, v)
end

输出结果就是:

1       oh
2 my
3 god

因为tb不存在tb[4],所以遍历到此为止了。

for k,v in pairs(tb) do
print(k, v)
end

输出结果:

1       oh
2 my
3 god
6 world
5 hello

我们都能猜到,将输出所有的内容。然而你发现输出的顺序跟你tb中的顺序不同。
如果我们要按顺序输出怎么办?办法之一是:

for i = 1, #tb do
if tb[i] then
print(tb[i])
else
end

当然,仅仅是个数组的话,ipairs也没问题。

最新文章

  1. 信贷业务(Ali)
  2. centos 6.x安装rvm 配置 Ruby开发环境
  3. 自定义UISearchBar
  4. 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
  5. jQuery立体式数字动态增加(animate方法)
  6. jquery 数组求差集,并集
  7. LeetCode Number of Islands 岛的数量(DFS,BFS)
  8. 【转】CocoaPods的安装以及遇到的坑
  9. 《BackboneJS框架的技巧及模式》(2)
  10. C#的checked和unchecked
  11. 判断是否联网_检测网络的类型为3G、2G、wap、wifi
  12. node.js(四)path优化(路径优化)
  13. php开启虚拟域名功能
  14. iOS 枚举写法
  15. redis php sort 函数
  16. Linux命令之control快捷键组合
  17. servlet的xx方式传值中文乱码
  18. (一)juc线程高级特性——volatile / CAS算法 / ConcurrentHashMap
  19. 【SQLite】可视化工具SQLite studio
  20. Shell操作mysql数据库

热门文章

  1. Netty组件
  2. 通信端口Com口被占用的原因分析
  3. LaTeX技巧203:如何实现等号对齐_LaTeX_Fun_新浪博客
  4. C++之string类
  5. 使用DOS指修改文件名
  6. Javascript作用域和变量提升
  7. [xjtu21]wmq的午餐 计数问题
  8. C++经典题目:有n个整数,使前面各数顺序向后移动m个位置
  9. GCC源码编译
  10. 1.4 DVWA亲测XSS漏洞