BIS fnc conditionalSelect: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Some wiki formatting)
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{RV|type=function


{{Function|= Comments
|game1= arma2
____________________________________________________________________________________________
|version1= 1.00


| arma2 |= Game name
|game2= arma2oa
|version2= 1.50


|1.00|= Game version
|game3= tkoh
____________________________________________________________________________________________
|version3= 1.00


| <pre>
|game4= arma3
/************************************************************
|version4= 0.50
Conditional Select


Parameters: [array, {condition}]
|gr1= Arrays


This returns a sub-array of elements that satisfy a specific condition.
|descr= This returns a sub-array of elements that satisfy a specific condition '''in the order they have been passed'''.
The originally passed array is NOT modified!
{{Feature|arma3|Since {{arma3}} v1.55, use <sqf inline>array select condition</sqf> instead.}}


The function takes, in order, every element of the passed array,
In the condition, the currently tested element is assigned to the variable "[[Magic Variables#x|_x]]".
evaluates it in the condition, and, if the condition is true, adds
The original array is '''not''' modified.
it to the return array.


In the condition, the currently tested element is assigned to
|s1= [items, condition] call [[BIS_fnc_conditionalSelect]]
the variable "_x".


Care must be taken that the condition won't cause errors. For
|p1= items: [[Array]] - array to check
example, if your condition assumes all elements are numbers,
errors will occur if your array includes strings.


This function is similar to the "count" command, only it returns
|p2= condition: [[Code]] - selection code
the elements of the array that satisfy the condition, rather
than simply returning the count.


Example: [[10,0,8,2,6,4], {_x > 5}] call BIS_fnc_conditionalSelect
|r1= [[Array]]
Returns: [10,8,6]


Example: [[10,true,8,player], {typename _x == "STRING"}] call BIS_fnc_conditionalSelect
|x1= <sqf>[[10, 0, 8, 2, 6, 4], { _x > 5 }] call BIS_fnc_conditionalSelect; // will return [10,8,6]</sqf>
Returns: []


************************************************************/
|x2= <sqf>[[10, true, 8, player], { typeName _x == "STRING" }] call BIS_fnc_conditionalSelect; // will return []</sqf>
 
</pre><small>''(Placeholder description extracted from the function header by [[BIS_fnc_exportFunctionsToWiki]])''</small> |= Description
____________________________________________________________________________________________
 
| <!-- [] call [[BIS_fnc_conditionalSelect]]; --> |= Syntax
 
|p1= |= Parameter 1
 
| |= Return value
____________________________________________________________________________________________
 
|x1= <code></code> |=
____________________________________________________________________________________________
 
| [[select]] |= See also


|seealso= [[select]] [[count]]
}}
}}
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style="display:none">Bottom Section</h3>
[[Category:Function Group: Arrays|{{uc:conditionalSelect}}]]
[[Category:Functions|{{uc:conditionalSelect}}]]
[[Category:{{Name|arma2}}: Functions|{{uc:conditionalSelect}}]]
[[Category:{{Name|arma2oa}}: Functions|{{uc:conditionalSelect}}]]
[[Category:{{Name|tkoh}}: Functions|{{uc:conditionalSelect}}]]
[[Category:{{Name|arma3}}: Functions|{{uc:conditionalSelect}}]]
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 8, 2016 - 07:26 (UTC)</dd>
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt>
<dd class="note">
Since Arma 3 v1.55, the [[select]] command can be used to make conditional selections just like this function.
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 14:57, 13 July 2022

Hover & click on the images for description

Description

Description:
This returns a sub-array of elements that satisfy a specific condition in the order they have been passed.
Arma 3
Since Arma 3 v1.55, use array select condition instead.

In the condition, the currently tested element is assigned to the variable "_x".

The original array is not modified.
Execution:
call
Groups:
Arrays

Syntax

Syntax:
[items, condition] call BIS_fnc_conditionalSelect
Parameters:
items: Array - array to check
condition: Code - selection code
Return Value:
Array

Examples

Example 1:
[[10, 0, 8, 2, 6, 4], { _x > 5 }] call BIS_fnc_conditionalSelect; // will return [10,8,6]
Example 2:
[[10, true, 8, player], { typeName _x == "STRING" }] call BIS_fnc_conditionalSelect; // will return []

Additional Information

See also:
select count

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