Revision Difference
table.sort#549657
<function name="sort" parent="table" type="libraryfunc">
<description>Sorts a sequential table either ascending or by the given sort function.
<note>This function modifies the table you give to it.</note>
</description>
<realm>Shared and Menu</realm>
<args>
<arg name="tbl" type="table">The table to sort.</arg>
<arg name="sorter" type="function">If specified, the function will be called with 2 parameters each.
Return true in this function if you want the first parameter to come first in the sorted array.</arg>
</args>
</function>
<example>
<description>Sorting table by an integer</description>
<code>
local tbl = {
{ "Jeff", 8 },
{ "Peter", 17 },
{ "Shay", 11 },
{ "Janine", 1 }
}
table.sort( tbl, function(a, b) return a[2] > b[2] end )
</code>
<output>Table going from highest number to lowest (1: Peter, 2: Shay, 3: Jeff, 4: Janine)</output>
</example>
<example>
<description>Sorting a player table by a NWInt</description>
<code>
local plys = player.GetAll()
table.sort( plys, function(a, b) return a:GetNWInt("Score") > b:GetNWInt("Score") end )
</code>
<output>Player table sorted by score going from highest to lowest</output>
⤶
</example>⤶
</example>⤶
⤶
<example>⤶
<description>Sort the table by string keys. We cannot sort non-numeric keys in `ages`, because they are contained in a hash part whose order is undefined.</description>⤶
<code>⤶
local ages = {⤶
[ "Jeff" ] = 8,⤶
[ "Peter" ] = 17,⤶
[ "Shay" ] = 11,⤶
[ "Janine" ] = 1,⤶
}⤶
⤶
local names = table.GetKeys( ages )⤶
table.sort( names )⤶
for _, name in ipairs( names ) do⤶
print( name, ages[ name ] )⤶
end⤶
</code>⤶
<output>⤶
Janine 1⤶
Jeff 8⤶
Peter 17⤶
Shay 11⤶
</output>⤶
</example>