魔兽世界 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