myArray = {}
myArray[5] = "5"
myArray[2] = "2"
myArray[4] = "4"
myArray[1] = "1"
myArray[6] = "6"
for k, v in pairs(myArray) do print(k, v) end
print()
myNewArray = {}
myNewArray["d"] = "d"
myNewArray["a"] = "a"
myNewArray["e"] = "e"
myNewArray["b"] = "b"
myNewArray["c"] = "c"
myNewArray["k"] = "k"
for k, v in pairs(myNewArray) do print(k, v) end
-- 1 1
-- 2 2
-- 4 4
-- 5 5
-- 6 6
-- a a
-- c c
-- b b
-- e e
-- d d
-- k k
以上可以看出,如果使用索引,是按顺序输出的,不管定义的顺序是怎么样的
如果按照key值,输出的顺序无法预估,因为存储的时候是使用了hash计算key值存储,然后按顺序取出。
原文:https://www.cnblogs.com/guaguadache/p/14836832.html