pushBackUnique: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>")
Line 17: Line 17:
|r1= [[Number]] - index of inserted element or -1
|r1= [[Number]] - index of inserted element or -1
|x1= <code>_arr = [1,2,3];
|x1= <sqf>_arr = [1,2,3];
_index = _arr pushBackUnique 3;
_index = _arr pushBackUnique 3;
hint str [_index, _arr]; // [-1,[1,2,3]]</code> |EXAMPLE1=    
hint str [_index, _arr]; // [-1,[1,2,3]]</sqf> |EXAMPLE1=    
|x2= <code>_arr = [1,2,3];
|x2= <sqf>_arr = [1,2,3];
_index = _arr pushBackUnique 4;
_index = _arr pushBackUnique 4;
hint str [_index, _arr]; // [3,[1,2,3,4]]</code>
hint str [_index, _arr]; // [3,[1,2,3,4]]</sqf>


|seealso= [[pushBack]] [[select]] [[set]] [[resize]] [[reverse]] [[count]] [[find]] [[in]] [[forEach]] [[deleteAt]] [[deleteRange]] [[append]] [[sort]] [[arrayIntersect]] [[apply]] [[BIS_fnc_arrayPushStack]] [[BIS_fnc_arrayPush]]
|seealso= [[pushBack]] [[select]] [[set]] [[resize]] [[reverse]] [[count]] [[find]] [[in]] [[forEach]] [[deleteAt]] [[deleteRange]] [[append]] [[sort]] [[arrayIntersect]] [[apply]] [[BIS_fnc_arrayPushStack]] [[BIS_fnc_arrayPush]]
}}
}}

Revision as of 11:23, 13 May 2022

Hover & click on the images for description

Description

Description:
Adds element to the back of the given array but only if it is unique to the array. The index of the added element is returned upon success, otherwise -1. This command modifies the original array.
Adding string elements is case sensitive.
Groups:
Arrays

Syntax

Syntax:
array pushBackUnique element
Parameters:
array: Array
element: Anything
Return Value:
Number - index of inserted element or -1

Examples

Example 1:
_arr = [1,2,3]; _index = _arr pushBackUnique 3; hint str [_index, _arr]; // [-1,[1,2,3]]
Example 2:
_arr = [1,2,3]; _index = _arr pushBackUnique 4; hint str [_index, _arr]; // [3,[1,2,3,4]]

Additional Information

See also:
pushBack select set resize reverse count find in forEach deleteAt deleteRange append sort arrayIntersect apply BIS_fnc_arrayPushStack BIS_fnc_arrayPush

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