Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function sortGrouped(t)
- local users, precedence = {}, {}
- for _, entry in ipairs(t) do
- local name = entry.name
- table.insert(users, name)
- precedence[name] = math.min(entry.i, precedence[name] or math.huge)
- end
- table.sort(users, function(a,b) return precedence[a] < precedence[b] end)
- for i, name in ipairs(users) do
- users[name] = i
- end
- table.sort(t, function(a, b) if a.name == b.name then return a.i < b.i else return users[a.name] < users[b.name] end end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement