• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua How to sort this table

andu

Sold 649 scripts, 25 maps and 9 events!
Joined
Aug 7, 2009
Messages
976
Solutions
17
Reaction score
369
GitHub
olrios
Twitch
jamagowy
Code:
local rewards = {
    {level = 50, gold = 10000, check = 3},
    {level = 160, gold = 20000, check = 5},
    {level = 70, gold = 75000, check = 88},
    {level = 200, gold = 200000, check = 11},
    {level = 90, gold = 5000, check = 1}
}

How to sort that table by level?
 
Solution
Code:
table.sort(rewards, function(a, b) return a.level < b.level end)

for i = 1, #rewards do
    print(rewards[i].level)
end
local rewardsX = {
[50] = {level = 50, gold = 10000, check = 3},
[160] = {level = 160, gold = 20000, check = 5},
[70] = {level = 70, gold = 75000, check = 88},
[200] = {level = 200, gold = 200000, check = 11},
[90] = {level = 90, gold = 5000, check = 1}
}

table.sort(local rewardsX)

You can also make the elements look like this: [50] = {gold = 10000, check = 3}.

It's also possible to make the keys dynamically (so you can sort on any of the three object properties), or write your own iterator, but both of those are probably over-doing it.
 
Last edited:
Code:
table.sort(rewards, function(a, b) return a.level < b.level end)

for i = 1, #rewards do
    print(rewards[i].level)
end
 
Solution

Similar threads

Back
Top