我对使用 LUA 和 LUA 表非常陌生。
我想提供的例子是,我想知道他/她的银行账户中存款最少的人的姓名:
BankAccount = {}
BankAccount["Tom"] = 432
BankAccount["Henry"] = 55
BankAccount["Kath"] = 875
table.sort(BankAccount)
print("BankAccount Element at index 1 is ", BankAccount[1])
目标:我希望它返回字符串“Henry”。
我遇到的问题是我不确定如何以这样的方式构建表格,以便它根据值返回字符串。我还看到人们这样做:
BankAccount = {
{"Tom", 432},
{"Henry", 55},
{"Kath", 875},
}
所以我不确定如何继续。感谢您的帮助。
最佳答案
您无法对第一个表进行排序,因为它是一个没有任何特定顺序的哈希表,但如果您提供排序功能,则可以对第二个表进行排序:
BankAccount = {
{"Tom", 432},
{"Henry", 55},
{"Kath", 875},
}
table.sort(BankAccount, function(a, b) return a[2] < b[2] end)
print(BankAccount[1][1]) -- should print Henry
table.sort
将一个函数作为第二个参数,该函数将接收两个正在排序的值并需要返回 true/false 值,指示第一个元素是否需要在第二个元素之前(参见 table.sort ) .
关于arrays - 如何将已排序的表索引作为字符串返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73682106/