lua 中ipairs 和 pairs 区别

ipairs 和pairs在lua中都是遍历tbale的函数但是两者有区别
1.pairs遍历table中的所有的key-vale 而ipairs会根据key的数值从1开始加1递增遍历对应的table[i]值
a = {[1] = "a1", [2] = "a2", [3] = "a3", [5] = "a4", [6] = "a5",}
for key, value in ipairs(a) do
  print(key, value)
end


结果:
1	a1
2	a2
3	a3

a = {[1] = "a1", [2] = "a2", [3] = "a3", [5] = "a4", [6] = "a5",}
for key, value in pairs(a) do
  print(key, value)
end
结果:
6	a5
2	a2
3	a3
1	a1
5	a4

有一个要注意的是pairs()的一个问题,用pairs()遍历是[key]-[value]形式的表是随机的,跟key的哈希值有关系

转自  http://blog.163.com/liwei1987821@126/blog/static/172664928201310710338912/

你可能感兴趣的:(lua 中ipairs 和 pairs 区别)