util.table.sort

Shared

Sorts table elements in-place


Syntax

util.table.sort(
    input,
    comparison = nil
)

Parameters

TypeNameDescription
tableinputTable to sort
functioncomparisonComparison function compare(a, b) - used for manipulating sorting algorithm

Returns

TypeNameDescription

Examples

Sort numbers in ascending order
local nums = {5, 2, 8, 1, 9}
util.table.sort(nums)

core.engine.print("info", util.table.concat(nums, ", ")) -- '1, 2, 5, 8, 9'
Sort numbers in descending order
local nums = {5, 2, 8, 1, 9}
util.table.sort(nums, function(a, b) return a > b end)

core.engine.print("info", util.table.concat(nums, ", ")) -- '9, 8, 5, 2, 1'
Sort strings alphabetically
local words = {"zebra", "apple", "mango", "banana"}
util.table.sort(words)

core.engine.print("info", util.table.concat(words, ", ")) -- 'apple, banana, mango, zebra'
Sort strings by length
local words = {"hi", "hello", "a", "world"}
util.table.sort(words, function(a, b) return #a < #b end)

core.engine.print("info", util.table.concat(words, ", ")) -- 'a, hi, hello, world'
Sort strings case-insensitively
local names = {"Bob", "alice", "Charlie", "david"}
util.table.sort(names, function(a, b) 
    return util.string.lower(a) < util.string.lower(b) 
end)

core.engine.print("info", util.table.concat(names, ", ")) -- 'alice, Bob, Charlie, david'
Sort mixed-case strings uniformly
local items = {"Apple", "banana", "Cherry", "date"}
util.table.sort(items, function(a, b)
    return util.string.lower(a) < util.string.lower(b)
end)

core.engine.print("info", util.table.concat(items, ", ")) -- 'Apple, banana, Cherry, date'

On this page