我正在尝试在lua中循环表,但是表循环顺序是错误的。下面的代码打印:
代码是:
testNumbers =
{
one = 1,
two = 2,
three = 3
}
for key,num in pairs(testNumbers) do
print("key : " .. key .. " num: " .. num)
end
如何使它以正确的顺序循环?我现在不能更改太多代码,因为现在需要key变量
为了提高效率,Lua表不跟踪其键的顺序。如果您不能更改表的格式,则仍然可以通过保留键数组并对其进行迭代来强制执行迭代顺序。
testNumbers =
{
one = 1,
two = 2,
three = 3
}
local order = {'one', 'two', 'three'}
for _, key in ipairs(order) do
print("key : " .. key .. " num: " .. testNumbers[key])
end