排序的Key需要是连续的 local x = {[1]={x=6}, [2]={x=5}, [3]={x=7}, [5]={x=2}, [6]={x=8}, [7]={x=5}} ---从小到大排序 table.sort(x,function(a,b) return a.x < b.x end) for i=1,10 do if x[i] ~= nil then print(x[i].x) end end 打印出:5,6,7, 2,8,5 可以看到后面的数据并没有进行排序,因为key不是连续的,