BIS fnc sortBy: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{Function|= Comments " to "{{Function|Comments= ")
m (Fix parameter)
Line 20: Line 20:


|p3= algorithm: [[Code]] - (Optional, default { [[_x]] })
|p3= algorithm: [[Code]] - (Optional, default { [[_x]] })
* needs to return a [[Number]]
* needs to return [[String]], [[Number]] or [[Array]] - see [[sort]]
* [[_x]] refers to array item |Parameter 3=
* [[_x]] refers to array item |Parameter 3=


Line 32: Line 32:
____________________________________________________________________________________________
____________________________________________________________________________________________


|x1= <code>{{codecomment|// sort numbers from lowest to highest}}
|x1= <code>{{cc|sort numbers from lowest to highest}}
_sortedNumbers = [<nowiki/>[1,-80,0,480,15,-40], [], {_x}, "ASCEND"] [[call]] [[BIS_fnc_sortBy]];</code> |Example 1=
_sortedNumbers = [<nowiki/>[1,-80,0,480,15,-40], [], {_x}, "ASCEND"] [[call]] [[BIS_fnc_sortBy]];</code> |Example 1=


|x2= <code>{{codecomment|//sort helicopters by distance from player}}
|x2= <code>{{cc|sort helicopters by distance from player}}
_closestHelicopters = [<nowiki/>[_heli1,_heli2,_heli3], [], { [[player]] [[distance]] _x }, "ASCEND"] [[call]] [[BIS_fnc_sortBy]];</code> |Example 2=
_closestHelicopters = [<nowiki/>[_heli1,_heli2,_heli3], [], { [[player]] [[distance]] _x }, "ASCEND"] [[call]] [[BIS_fnc_sortBy]];</code> |Example 2=


|x3= <code>{{codecomment|//sort enemy by distance from friendly unit (referenced by local variable), the furthest first}}
|x3= <code>{{cc|sort enemy by distance from friendly unit (referenced by local variable), the furthest first}}
_furtherstEnemy = [<nowiki/>[_enemy1,_enemy2,_enemy3], [_friendly], { _input0 [[distance]] _x }, "DESCEND", { [[canMove]] _x }] [[call]] [[BIS_fnc_sortBy]];</code> |Example 3=
_furtherstEnemy = [<nowiki/>[_enemy1,_enemy2,_enemy3], [_friendly], { _input0 [[distance]] _x }, "DESCEND", { [[canMove]] _x }] [[call]] [[BIS_fnc_sortBy]];</code> |Example 3=
____________________________________________________________________________________________
____________________________________________________________________________________________
Line 54: Line 54:
<h3 style="display:none">Bottom Section</h3>
<h3 style="display:none">Bottom Section</h3>
[[Category:Function Group: Arrays|{{uc:sortBy}}]]
[[Category:Function Group: Arrays|{{uc:sortBy}}]]
[[Category:Functions|{{uc:sortBy}}]]
[[Category:{{Name|arma3}}: Functions|{{uc:sortBy}}]]

Revision as of 09:40, 1 September 2020

Hover & click on the images for description

Description

Description:
Sorts an array according to given algorithm. See sort for simple sorts.
Execution:
call
Groups:
Uncategorised

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:
// sort numbers from lowest to highest _sortedNumbers = [[1,-80,0,480,15,-40], [], {_x}, "ASCEND"] call BIS_fnc_sortBy;
Example 2:
// sort helicopters by distance from player _closestHelicopters = [[_heli1,_heli2,_heli3], [], { player distance _x }, "ASCEND"] call BIS_fnc_sortBy;
Example 3:
// 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;

Additional Information

See also:
BIS_fnc_sortAlphabeticallyBIS_fnc_sortNumsort

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

Notes

Bottom Section