Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function sortGrouped(t)
- local users, precedence = {}, {}
- for i = #t, 1, -1 do
- local name = t[i].name
- if not users[name] then
- table.insert(precedence, name)
- users[name] = {}
- end
- table.insert(users[name], table.remove(t))
- end
- local function byI(a, b)
- return a.i > b.i
- end
- for name, list in pairs(users) do
- table.sort(list, byI)
- end
- table.sort(precedence, function(a, b) return users[a][1].i > users[b][1].i end)
- for _, name in ipairs(precedence) do
- for _, entry in ipairs(users[name]) do
- table.insert(t, entry)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement