pushBack: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^ ]+) <\/sqf>" to "<sqf>$1</sqf>") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 55: | Line 55: | ||
</dd> | </dd> | ||
{{Note | |||
|user= Killzone_Kid | |||
|timestamp= 20150521105200 | |||
|text= Array "push" implementation using [[pushBack]], alternative to [[BIS_fnc_arrayPush]] | |||
Array "push" implementation using [[pushBack]], alternative to [[BIS_fnc_arrayPush]] | <sqf> | ||
< | KK_fnc_push = { | ||
_this | _this select 0 pushBack (_this select 1); | ||
_this | _this select 0 | ||
}; | }; | ||
// Example | // Example | ||
arr | arr = [1,2,3]; | ||
[arr, 4] call KK_fnc_push; //both arr and return of function are now [1,2,3,4]</ | [arr, 4] call KK_fnc_push; //both arr and return of function are now [1,2,3,4] | ||
</sqf> | |||
}} | |||
{{Note | |||
|user= OOKexOo | |||
|timestamp= 20161005021900 | |||
|text= Note that [[pushBack]] does not create a new object.<br> | |||
Note that [[pushBack]] does not create a new object.<br> | |||
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. | e.g. | ||
<sqf>_first_squence = [1,2,3]; | <sqf> | ||
_first_squence = [1,2,3]; | |||
_second_squence = [5,4]; | _second_squence = [5,4]; | ||
Line 84: | Line 85: | ||
reverse _second_squence; | reverse _second_squence; | ||
systemChat str _first_squence // prints [1,2,3,[4,5]]]</sqf | systemChat str _first_squence // prints [1,2,3,[4,5]]] | ||
</sqf> | |||
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> | ||
<sqf>_first_squence pushBack +_second_squence;</sqf> | <sqf>_first_squence pushBack +_second_squence;</sqf> | ||
}} | |||
Revision as of 12:09, 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)
- Array "push" implementation using pushBack, alternative to BIS_fnc_arrayPush
- Posted on Oct 05, 2016 - 02:19 (UTC)
-
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.If you pushBack an array for instance, you can just copy it to generate a new object. 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]]]