1

I'm trying to sort a table for a addon/weakaura but I do not see how to do it ( sort by the attribut value).

Example :

        player = {
            value = 34
            class = Warrior,
            id    = 1
        },  
        {
            value = 1,
            class = mage,
            id    = 2
        },
        {
            value = 3443,
            class = Paladin,,
            class = 3
        }    

I want :

          player = {
            value = 1,
            class = mage,
            id    = 2
        },
        {
            value = 34
            class = Warrior,
            id    = 1
        },  
        {
            value = 3443,
            class = Paladin,
            class = 3
        }   

Someone an idea how to do this ?

4

1 回答 1

2

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

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)

player这将按字段的值对表的元素进行排序value。如果需要,您可以提出更精细的排序条件。

有关 table.sort 的更多信息,请参阅http://www.lua.org/manual/5.3/manual.html#pdf-table.sort

于 2016-06-24T06:24:08.937 回答