转自http://blog.csdn.net/cfeibiao/article/details/8365568
一、数值数组排序(字符串跟数值混在一起的数组是不能sort的)
local test_table = {2,1,3}
table.sort(test_table)
for key,value in pairs(test_table) do
print(key,value)
end
输出结果:
>lua -e "io.stdout:setvbuf 'no'" "test.lua"
1 1
2 2
3 3
二、字符串数组排序
local test_table = {"a","c","b"}
table.sort(test_table)
for key,value in pairs(test_table) do
print(key,value)
end
输出结果:
>lua -e "io.stdout:setvbuf 'no'" "test.lua"
1 a
2 b
3 c
三、键值对Table排序(按Key排序,不是Value)
local test_table = {a=3,b=2,c=4,d=1}
local key_table = {}
--取出所有的键
for key,_ in pairs(test_table) do
table.insert(key_table,key)
end
--对所有键进行排序
table.sort(key_table)
for _,key in pairs(key_table) do
print(key,test_table[key])
end
输出结果:
>lua -e "io.stdout:setvbuf 'no'" "test.lua"
a 3
b 2
c 4
d 1