BIS fnc sortBy: Difference between revisions
| Lou Montana (talk | contribs) m (Text replacement - "\{\{ *cc*\| *([^}]+) *\}\}" to "// $1") | Lou Montana (talk | contribs)  m (Some wiki formatting) | ||
| Line 17: | Line 17: | ||
| * a maximum of 10 input params is supported (0-9) | * a maximum of 10 input params is supported (0-9) | ||
| |p3= algorithm: [[Code]] - (Optional, default {  | |p3= algorithm: [[Code]] - (Optional, default <sqf inline>{ _x }</sqf>) | ||
| * needs to return [[String]], [[Number]] or [[Array]] - see [[sort]] | * needs to return [[String]], [[Number]] or [[Array]] - see [[sort]] | ||
| * [[Magic Variables#x|_x]] refers to array item | * [[Magic Variables#x|_x]] refers to array item | ||
| Line 25: | Line 25: | ||
| * "DESCEND" (or anything else) for descending sorting | * "DESCEND" (or anything else) for descending sorting | ||
| |p5= filter: [[Code]] - (Optional, default {  | |p5= filter: [[Code]] - (Optional, default <sqf inline>{ true }</sqf>) code that needs to evaluate true for the array item to be sorted, otherwise item is removed | ||
| |r1= [[Array]] - sorted array | |r1= [[Array]] - sorted array | ||
| |x1= < | |x1= <sqf> | ||
| _sortedNumbers = [ | // sort numbers from lowest to highest | ||
| _sortedNumbers = [[1,-80,0,480,15,-40], [], {_x}, "ASCEND"] call BIS_fnc_sortBy; | |||
| </sqf> | |||
| |x2= < | |x2= <sqf> | ||
| _closestHelicopters = [ | // sort helicopters by distance from player | ||
| _closestHelicopters = [[_heli1,_heli2,_heli3], [], { player distance _x }, "ASCEND"] call BIS_fnc_sortBy; | |||
| </sqf> | |||
| |x3= < | |x3= <sqf> | ||
| _furtherstEnemy = [ | // sort enemy by distance from friendly unit (referenced by local variable), the furthest first | ||
| _furtherstEnemy = [[_enemy1,_enemy2,_enemy3], [_friendly], { _input0 distance _x }, "DESCEND", { canMove _x }] call BIS_fnc_sortBy; | |||
| </sqf> | |||
| |seealso= [[BIS_fnc_sortAlphabetically]] [[BIS_fnc_sortNum]] [[sort]] | |seealso= [[BIS_fnc_sortAlphabetically]] [[BIS_fnc_sortNum]] [[sort]] | ||
| }} | }} | ||
Latest revision as of 14:57, 13 July 2022
Description
- Description:
- Sorts an array according to given algorithm. See sort for simple sorts.
- Execution:
- call
- Groups:
- Arrays
Syntax
- Syntax:
- [array, parameters, algorithm, direction, filter] call BIS_fnc_sortBy
- Parameters:
- array: Array - any unsorted array. Can contain any types
- parameters: Array
- used in the eval algorithm
- input params are referenced in the sorting algorithm by _input0..9
- a maximum of 10 input params is supported (0-9)
 
- algorithm: Code - (Optional, default { _x })
- direction: String - (Optional, default "ASCEND") case-insensitive
- "ASCEND" for ascending sorting
- "DESCEND" (or anything else) for descending sorting
 
- filter: Code - (Optional, default { true }) code that needs to evaluate true for the array item to be sorted, otherwise item is removed
- Return Value:
- Array - sorted array
Examples
- Example 1:
- Example 2:
- Example 3:
Additional Information
- See also:
- BIS_fnc_sortAlphabetically BIS_fnc_sortNum sort
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
 
	