pushBack: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>") |
Lou Montana (talk | contribs) m (Text replacement - "<dd class="note">([^}]*)<code>([^<]*)<\/code>" to "<dd class="note">$1<sqf>$2</sqf>") |
||
Line 33: | Line 33: | ||
<dd class="note"> | <dd class="note"> | ||
(A3 1.26) It is recommended to use [[pushBack]] instead of [[BIS_fnc_arrayPush]]. | (A3 1.26) It is recommended to use [[pushBack]] instead of [[BIS_fnc_arrayPush]]. | ||
< | <sqf>_array = [1,2,3]; | ||
_array pushBack 4; //same as [_array, 4] call BIS_fnc_arrayPush;</ | _array pushBack 4; //same as [_array, 4] call BIS_fnc_arrayPush;</sqf> | ||
<dt></dt> | <dt></dt> | ||
<dd class="notedate">Posted on August 23, 2014 - 21:35 (UTC)</dd> | <dd class="notedate">Posted on August 23, 2014 - 21:35 (UTC)</dd> | ||
Line 47: | Line 47: | ||
<dd class="note"> | <dd class="note"> | ||
[[pushBack]] does not support [[nil]] while [[set]] and [[a plus b]] do. For example: | [[pushBack]] does not support [[nil]] while [[set]] and [[a plus b]] do. For example: | ||
< | <sqf>_array = []; | ||
for "_i" from 0 to 3 do | for "_i" from 0 to 3 do | ||
{ | { | ||
_array pushBack nil; | _array pushBack nil; | ||
}; | }; | ||
hint str _array; //hint is []</ | hint str _array; //hint is []</sqf> | ||
</dd> | </dd> | ||
Line 77: | Line 77: | ||
Therefore, if you edit an object that was pushed back to an array, it also affects the object in the array. | Therefore, if you edit an object that was pushed back to an array, it also affects the object in the array. | ||
e.g.<br> | e.g.<br> | ||
< | <sqf>_first_squence = [1,2,3]; | ||
_second_squence = [5,4]; | _second_squence = [5,4]; | ||
Line 84: | Line 84: | ||
reverse _second_squence; | reverse _second_squence; | ||
systemChat str _first_squence // prints [1,2,3,[4,5]]]</ | systemChat str _first_squence // prints [1,2,3,[4,5]]]</sqf><br> | ||
If you pushBack an array for instance, you can just copy it to generate a new object. | If you pushBack an array for instance, you can just copy it to generate a new object. | ||
e.g.<br> | e.g.<br> |
Revision as of 10:57, 13 May 2022
Description
- Description:
- Insert an element to the back of the given array. This command modifies the original array. (see also: pushBackUnique)
- Groups:
- Arrays
Syntax
- Syntax:
- array pushBack element
- Parameters:
- array: Array
- element: Anything
- Return Value:
- Number - index of inserted element
Examples
- Example 1:
- Example 2:
Additional Information
- See also:
- pushBackUnique 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
- Posted on Aug 1, 2014 - 21:15
- ffur2007slx2_5
-
(A3 1.26) It is recommended to use pushBack instead of BIS_fnc_arrayPush.
- Posted on August 23, 2014 - 21:35 (UTC)
- Skaronator
- It's highly recommended to use the new pushBack command, up to 43% faster than set and up to 11843% faster a plus b!
- Posted on November 26, 2014 - 18:25 (UTC)
- DreadedEntity
- pushBack does not support nil while set and a plus b do. For example:
- Posted on May 21, 2015 - 10:52 (UTC)
- Killzone Kid
-
Array "push" implementation using pushBack, alternative to BIS_fnc_arrayPush
KK_fnc_push = { _this select 0 pushBack (_this select 1); _this select 0 }; // Example arr = [1,2,3]; [arr, 4] call KK_fnc_push; //both arr and return of function are now [1,2,3,4]
- Posted on October 5, 2016 - 02:19 (UTC)
- OOKexOo
-
Note that pushBack does not create a new object.
Therefore, if you edit an object that was pushed back to an array, it also affects the object in the array. e.g.
_first_squence = [1,2,3]; _second_squence = [5,4]; _first_squence pushBack _second_squence; systemChat str _first_squence // prints [1,2,3,[5,4]]] reverse _second_squence; systemChat str _first_squence // prints [1,2,3,[4,5]]]
If you pushBack an array for instance, you can just copy it to generate a new object. e.g.
_first_squence pushBack +_second_squence;