- 如果table是数组类型,两者均可遍历
local arr={"a","b","c","d"}
for i,v in ipairs(arr) do--遍历数组
print("i=" .. i ..";v=" .. v)
end
for i,v in pairs(arr) do--遍历数组
print("i=" .. i ..";v=" .. v)
end
for i = 1, #arr do
print("i=" .. i ..";v=" .. arr[i])
end
以上三种遍历方式,10000000 长度数组测试 ,全部遍历完,三种方式时间差不足1秒
- 如果table是对象。只能使用pairs
local tab={a="aa",b="bb"}
for i,v in pairs(tab) do--遍历数组和对象
print("i=" .. i ..";v=" .. v)
end
- pairs可以遍历稀疏表
local t = {}
table.insert(t,10,"c")
for i,v in pairs(t) do
print(i) -- 10
end