【发布时间】:2021-07-30 17:27:36
【问题描述】:
我有一个由 lua 代码生成并作为回调返回给客户端的表,但是数据没有排序,我想返回一个按 id 排序的列表
local players = {}
for k, player in ipairs(QBCore.Functions.GetPlayers()) do
local charinfo = QBCore.Functions.GetPlayer(player).PlayerData.charinfo
local csn = QBCore.Functions.GetPlayer(player).PlayerData.citizenid
local playerjob = QBCore.Functions.GetPlayer(player).PlayerData.job.label
local ped = GetPlayerPed(player)
local playerCoords = GetEntityCoords(ped)
players[k] = {
["id"] = player,
["name"] = tostring(GetPlayerName(player)),
["charName"] = ("%s %s"):format(charinfo.firstname, charinfo.lastname),
["csn"] = csn,
["playerjob"] = playerjob,
["serverid"] = player,
["ped"] = GetPlayerPed(player),
["coords"] = playerCoords,
}
end
cb(players)
【问题讨论】:
-
哈希表没有顺序,您需要创建一个包含键的单独结构来定义您要检索项目的顺序。
-
@Nifim - OP 创建一个数组,而不是字典。
-
啊我现在明白这个问题了,谢谢@EgorSkriptunoff