Description
Sorts an array according to given algorithm. See sort for simple sorts.
Syntax
[array, parameters, algorithm, direction, filter] call BIS_fnc_sortBy
Parameters:
array: Array - any unsorted array. Can contain any typesparameters: 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
Returns: 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;