pairs

原理:无序输出 字母类型key 或者 数字类型key 的键值,遇到nil不输出,但不会停止遍历;

特点:

  • pairs会输出所有的数据,不带key 的值按顺序输出,带key 的值无序输出;
  • pairs遇到nil不会停止输出;

适用于:表

ipairs

原理:从第一个数字key开始,依次输出所有的 key+1 的键值,遇到 字母下标 并不会结束遍历,只是不输出而已,如果遇到nil则退出

特点:

  • ipairs会跳过 字符串的key,按 顺序输出 数字型key的值;
  • ipairs遇到nil会停止输出;

适用于:数组

总结:会略过 数组非正数索引以及其他字典索引,从数组的[1]索引开始迭代(对应index=0),顺序迭代直到 某个索引不存在 或 **其对应的值为空 **时结束

pairs 和 ipairs均优先输出没有key的value;