The algorithm for sorting subarrays: compare 1st element, if equal compare 2nd, if equal compare 3rd...etc.
Description
Attempts to sort given array either in ascending (true) or descending (false) order.
Important
This will modify the original array!
Syntax
array sort order
Parameters:
-
array: Array of Anything - array to be sorted, can also be a nested array.All array elements should be one of the following types:
- String - Array of strings
["a","b","c"...] - Number - Array of numbers
[1,2,3...] - Array - Array of subarrays
[["a",1,2],["b",3,4],["c",5,6]...]. Subarrays should be of the same structure. Subarray elements other than String or Number will be ignored during sorting. Mixed arrays["a",1,[true], ...]are not supported and results are undefined.
- String - Array of strings
-
order: Boolean - sorting order.
Returns: Nothing
Examples
Example 1
_arr = [5.21725,1.30859,4,5.03028,1];
_arr sort true;
hint str _arr; //[1,1.30859,4,5.03028,5.21725]
Example 2
_dev = ["ja","pa","pa","tram","tara"];
_dev sort false;
hint str _dev; //["tram","tara","pa","pa","ja"]
Example 3
#define ASC true
#define DESC false
_scores = [[123,"bob",15],[123,"bill",20],[200,"dave",21],[200,"steve",11]];
_scores sort DESC;
hint str _scores; //[[200,"steve",11],[200,"dave",21],[123,"bob",15],[123,"bill",20]]
Example 4
Sort buildings by distance and return position of the most distant building:
_buildings = player nearObjects ["Land_Cargo_Patrol_V1_F", 500];
_buildings = _buildings apply { [_x distance player, _x] };
_buildings sort false;
hint format [
"Most distant building is at %1, distance %2 m",
getPos (_buildings select 0 select 1),
round (_buildings select 0 select 0)
];
See also
lbSortBy · lnbSortBy · BIS_fnc_sortAlphabetically · BIS_fnc_sortBy · BIS_fnc_sortNum