sort: Difference between revisions
Jump to navigation
Jump to search
m (warning) |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(35 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
|game1= arma3 | |game1= arma3 | ||
|version1= 1.44 | |version1= 1.44 | ||
|gr1= Arrays | |gr1= Arrays | ||
|descr= Attempts to sort given array either in ascending ([[true]]) or descending ([[false]]) order. {{Feature| | |descr= Attempts to sort given array either in ascending ([[true]]) or descending ([[false]]) order. {{Feature|important|This will '''modify''' the original array!}} | ||
|s1= array | |s1= array [[sort]] order | ||
|p1= array: [[Array]] - | |p1= array: [[Array]] - array to be sorted, can also be a nested array.<br><br> | ||
All array elements should be one of the following types: | All array elements should be one of the following types: | ||
* [[String]] - Array of strings {{ | * [[String]] - Array of strings {{hl|["a","b","c"...]}} | ||
* [[Number]] - Array of numbers {{ | * [[Number]] - Array of numbers {{hl|[1,2,3...]}} | ||
* [[Array]] - Array of subarrays {{ | * [[Array]] - Array of subarrays {{hl|[<nowiki/>["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 {{ | Mixed arrays {{hl|["a",1,[true], ...]}} are not supported and results are undefined.<br><br> | ||
|p2= order: [[Boolean]] - | |p2= order: [[Boolean]] - sorting order. | ||
* [[true]]: ascending | * [[true]]: ascending | ||
* [[false]]: descending | * [[false]]: descending | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
| | |x1= <sqf> | ||
_arr = [5.21725,1.30859,4,5.03028,1]; | |||
_arr sort true; | |||
hint str _arr; //[1,1.30859,4,5.03028,5.21725] | |||
</sqf> | |||
| | |x2= <sqf> | ||
_dev = ["ja","pa","pa","tram","tara"]; | |||
_dev sort false; | |||
hint str _dev; //["tram","tara","pa","pa","ja"] | |||
</sqf> | |||
|x4= Sort buildings by distance and return position of the most distant building:< | |x3= <sqf> | ||
_buildings = _buildings | #define ASC true | ||
_buildings | #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]] | |||
</sqf> | |||
|x4= Sort buildings by distance and return position of the most distant building: | |||
<sqf> | |||
_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", | "Most distant building is at %1, distance %2 m", | ||
getPos (_buildings select 0 select 1), | |||
round (_buildings select 0 select 0) | |||
];</ | ]; | ||
</sqf> | |||
|seealso= [[BIS_fnc_sortAlphabetically]] [[BIS_fnc_sortBy]] [[BIS_fnc_sortNum]] | |seealso= [[lbSortBy]] [[lnbSortBy]] [[BIS_fnc_sortAlphabetically]] [[BIS_fnc_sortBy]] [[BIS_fnc_sortNum]] | ||
}} | }} | ||
{{Note | |||
|user= Killzone_Kid | |||
|timestamp= 20150416181400 | |||
|text= The algorithm for sorting subarrays: compare 1st element, if equal compare 2nd, if equal compare 3rd...etc. | |||
The algorithm for sorting subarrays: compare 1st element, if equal compare 2nd, if equal compare 3rd...etc. | }} | ||
Latest revision as of 19:42, 3 September 2024
Description
- Description:
- Attempts to sort given array either in ascending (true) or descending (false) order.
- Groups:
- Arrays
Syntax
- Syntax:
- array sort order
- Parameters:
- array: Array - 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.
- order: Boolean - sorting order.
- Return Value:
- Nothing
Examples
- Example 1:
- Example 2:
- Example 3:
- Example 4:
- Sort buildings by distance and return position of the most distant building:
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
- Posted on Apr 16, 2015 - 18:14 (UTC)
- The algorithm for sorting subarrays: compare 1st element, if equal compare 2nd, if equal compare 3rd...etc.