lua对于表的循环
- 在lua中 循环遍历表时 都是随机遍历的。即每次取出数的顺序不同
local table = {
"1" = 1,
"2"= 2,
"3" = 3,
}
for i, v in pairs(table) do
print(i, v)
end
- 执行上述代码的结果 可能是1 2 3的顺序输出,也可能是3 2 1 等等输出方式
- 不过仅当表的key是字符串时是这样
- 如果key是number的数字,那么遍历方式就会变成按照key的大小,从小到大按顺序遍历整个数组
- 那么就没有方法对字符类型的key进行排序吗??当然不是
- 另开辟一个表,其key是数字,value是上述string类型的key
- 通过对value进行某种方式的排序,再按照顺序为其赋上数值类型的key,就可以按照新数组的key->value顺序遍历