pushBack: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(since we passed stable release and it causes some confusion, lets make it more obvious, it returns NUMBER)
No edit summary
Line 57: Line 57:
<dd class="note">
<dd class="note">
It's highly recommended to use the new [[pushBack]] command, up to 43% faster than [[set]] and up to '''11843%''' faster [[a plus b]]!
It's highly recommended to use the new [[pushBack]] command, up to 43% faster than [[set]] and up to '''11843%''' faster [[a plus b]]!
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on November 26, 2014 - 18:25 (UTC)</dd>
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
<dd class="note">
[[pushBack]] does not support [[nil]] while [[set]] and [[a plus b]] do. For example:
<code>_array = [];
[[for]] "_i" [[from]] 0 [[to]] 3 [[do]]
{
_array [[pushBack]] [[nil]];
};
[[hint]] [[str]] _array; //[[hint]] is []</code>
<code>_array = [];
[[for]] "_i" [[from]] 0 [[to]] 3 [[do]]
{
_array [[set]] [_i, [[nil]]];
};
[[hint]] [[str]] _array; //[[hint]] is [any,any,any,any]</code>
<code>_array = [];
[[for]] "_i" [[from]] 0 [[to]] 3 [[do]]
{
_array = _array + [ [[nil]] ];
};
[[hint]] [[str]] _array; //[[hint]] is [any,any,any,any]</code>
That could be a problem if you're trying to standardize array length by filling empty elements with nil values. Use [[set]] for it's speed over [[a plus b]].
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 19:25, 26 November 2014

Hover & click on the images for description

Description

Description:
Insert an element to the back of the given array. This command modifies the original array.
Groups:
Uncategorised

Syntax

Syntax:
array pushBack element
Parameters:
array: Array
element: Anything
Return Value:
Number - index of inserted element

Examples

Example 1:
_arr = [1,2,3]; _arr pushBack 4; hint str _arr; //[1,2,3,4]
Example 2:
_arr = [1,[2,4],3]; (_arr select 1) pushBack [5,6]; _arr //[1,[2,4,[5,6]],3]

Additional Information

See also:
setresizereversecountfindinforEachdeleteAtdeleteRangeBIS_fnc_arrayPushStackBIS_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

Notes

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;

Bottom Section

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 [] _array = []; for "_i" from 0 to 3 do { _array set [_i, nil]; }; hint str _array; //hint is [any,any,any,any] _array = []; for "_i" from 0 to 3 do { _array = _array + [ nil ]; }; hint str _array; //hint is [any,any,any,any] That could be a problem if you're trying to standardize array length by filling empty elements with nil values. Use set for it's speed over a plus b.