如何在 lua 中获取数组的顺序
How to get the ordering of an array in lua
lua 中是否有一种(快速)方法来对数组进行排序并获取顺序,例如
a = {4,3.2,1,7}
=> 顺序为 3,2,1,4(因为 a[3]=1, a[2]=3.2, ...)
试试下面的代码。它使用比较值对索引数组进行排序。
a = {4,3.2,1,7}
o = {}
for i=1,#a do
o[i]=i
end
table.sort(o,function (x,y) return a[x]<a[y] end)
for i=1,#o do
print(i,o[i],a[o[i]])
end
lua 中是否有一种(快速)方法来对数组进行排序并获取顺序,例如
a = {4,3.2,1,7}
=> 顺序为 3,2,1,4(因为 a[3]=1, a[2]=3.2, ...)
试试下面的代码。它使用比较值对索引数组进行排序。
a = {4,3.2,1,7}
o = {}
for i=1,#a do
o[i]=i
end
table.sort(o,function (x,y) return a[x]<a[y] end)
for i=1,#o do
print(i,o[i],a[o[i]])
end