From Bohemia Interactive Community
- Posted on Aug 1, 2014 - 21:15
- ffur2007slx2_5
-
(A3 1.26) It is recommended to use pushBack instead of BIS_fnc_arrayPush.
_array = [1,2,3];
_array pushBack 4; //same as [_array, 4] call 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:
_array = [];
for "_i" from 0 to 3 do
{
_array pushBack nil;
};
hint str _array; //hint is []
-
- 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;