【问题标题】:World of Warcraft Lua - sort table魔兽世界 Lua - 排序表
【发布时间】:2016-06-24 05:12:16
【问题描述】:

我正在尝试为插件/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
        }   

有人知道怎么做吗?

【问题讨论】:

  • 代码无效,显示真实代码。

标签: lua add-on world-of-warcraft


【解决方案1】:

假设您修复了表格声明,您可以使用自定义函数对表格进行排序:

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.sort 的更多信息,请参阅http://www.lua.org/manual/5.3/manual.html#pdf-table.sort

【讨论】:

    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多