众人皆知的是有两种:ipairs和pairs,这两种相信大家也是很了解了,其中ipairs是从头(idx=1)开始往后顺序遍历,遇到nil即退出循环;而pairs则是非顺序遍历,只要里面有值都可以遍历的到。
那假如我需要顺序遍历而且即使中间有nil也能完整遍历到最后呢?
接下来就说这个:通过maxSize = table.maxn(pTable)获取到table最后一个元素的所在位置(或理解为最大长度,包括其中的nil),然后:
for idx=1, maxSize do
if pTable[idx] ~= nil then
-- 做相应的处理...
end
end
这样就能实现既顺序遍历而且又能遍历完全了。