findIf: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " <h3 style="display:none">Notes</h3> <dl class="command_description"> <!-- Note Section BEGIN --> <!-- Note Section END --> </dl> " to "") |
Lou Montana (talk | contribs) m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *Z([a-z ])" to "$1 - z$2") |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| arma3 | | |game1= arma3 | ||
|version1= 1.82 | |||
| | |gr1= Arrays | ||
| | |descr= Searches for an element within array for which the code evaluates to true. Returns the zero-based index on success or -1 if not found.<br> | ||
Code on the right side of the command is evaluated for each element of the array, processed element can be referenced in code as [[Magic Variables#x|_x]]. | |||
{{Feature|informative|[[findIf]] terminates as soon as it finds an element that fulfills the condition, thus it is more efficient than [[count]] in scenarios where a check for presence / absence of at least one element should be done (See {{Link|#Example 2}}).}} | |||
| | |s1= array [[findIf]] code | ||
|p1= array: [[Array]] - array to search in | |||
| | |p2= code: [[Code]] - code defining an element to find, processed element can be referenced within the code as [[Magic Variables#x|_x]] | ||
| | |r1= [[Number]] - zero-based position of the first array element for which the code evaluate to true, -1 if not found | ||
| | |x1= <sqf>[unit1, unit2, unit3] findIf {not alive _x}; // return index of the first dead unit)</sqf> | ||
| | |x2= <sqf> | ||
// two ways how to 'wait for all units to be dead': | |||
waitUntil { [unit1, unit2, unit3] findIf { alive _x } == -1 }; // fast, terminates as soon as it finds a living unit | |||
waitUntil { { alive _x } count [unit1, unit2, unit3] == 0 }; // slow, always goes through all array elements | |||
</sqf> | |||
| [[find]] [[count]] | |seealso= [[find]] [[count]] | ||
}} | }} | ||
Latest revision as of 16:36, 8 November 2023
Description
- Description:
- Searches for an element within array for which the code evaluates to true. Returns the zero-based index on success or -1 if not found.
Code on the right side of the command is evaluated for each element of the array, processed element can be referenced in code as _x. - Groups:
- Arrays
Syntax
- Syntax:
- array findIf code
- Parameters:
- array: Array - array to search in
- code: Code - code defining an element to find, processed element can be referenced within the code as _x
- Return Value:
- Number - zero-based position of the first array element for which the code evaluate to true, -1 if not found
Examples
- Example 1:
- Example 2:
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