魔兽世界 Lua - 排序 table
World of Warcraft Lua - sort table
我正在尝试将 table 排序为 addon/weakaura,但我不知道该怎么做(按属性值排序)。
示例:
player = {
value = 34
class = Warrior,
id = 1
},
{
value = 1,
class = mage,
id = 2
},
{
value = 3443,
class = Paladin,,
class = 3
}
我要:
player = {
value = 1,
class = mage,
id = 2
},
{
value = 34
class = Warrior,
id = 1
},
{
value = 3443,
class = Paladin,
class = 3
}
有人知道怎么做吗?
假设您修复了 table 声明,您可以使用自定义函数对 table 进行排序:
local player = {
{ value = 34, class = "Warrior", id = 1 },
{ value = 1, class = "mage", id = 2 },
{ value = 3443, class = "Paladin", id = 3 },
}
table.sort(player, function(a,b) return a.value < b.value end)
这将根据 value
字段的值对 player
table 的元素进行排序。如果需要,您可以想出更详细的排序条件。
有关table.sort
的更多信息,请参阅http://www.lua.org/manual/5.3/manual.html#pdf-table.sort
我正在尝试将 table 排序为 addon/weakaura,但我不知道该怎么做(按属性值排序)。
示例:
player = {
value = 34
class = Warrior,
id = 1
},
{
value = 1,
class = mage,
id = 2
},
{
value = 3443,
class = Paladin,,
class = 3
}
我要:
player = {
value = 1,
class = mage,
id = 2
},
{
value = 34
class = Warrior,
id = 1
},
{
value = 3443,
class = Paladin,
class = 3
}
有人知道怎么做吗?
假设您修复了 table 声明,您可以使用自定义函数对 table 进行排序:
local player = {
{ value = 34, class = "Warrior", id = 1 },
{ value = 1, class = "mage", id = 2 },
{ value = 3443, class = "Paladin", id = 3 },
}
table.sort(player, function(a,b) return a.value < b.value end)
这将根据 value
字段的值对 player
table 的元素进行排序。如果需要,您可以想出更详细的排序条件。
有关table.sort
的更多信息,请参阅http://www.lua.org/manual/5.3/manual.html#pdf-table.sort