pushBack: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 91: Line 91:
arr <nowiki>=</nowiki> [1,2,3];
arr <nowiki>=</nowiki> [1,2,3];
[arr, 4] [[call]] KK_fnc_push; //both arr and return of function are now [1,2,3,4]</code>
[arr, 4] [[call]] KK_fnc_push; //both arr and return of function are now [1,2,3,4]</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 21, 2015 - 14:55 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
Array "shuffle" implementation using [[pushBack]], much faster alternative to [[BIS_fnc_arrayShuffle]]:
<code>KK_fnc_shuffle <nowiki>=</nowiki> {
    [[private]] "_cnt";
    _this <nowiki>=</nowiki>+ _this;
    _cnt <nowiki>=</nowiki> [[count]] _this;
    [[for]] "_i" [[from]] 1 [[to]] _cnt [[do]] {
        _this [[pushBack]] (_this [[deleteAt]] [[floor]] [[random]] _cnt);
    };
    _this
};
// Example
arr <nowiki>=</nowiki> [0,1,2,3,4];
arr [[call]] KK_fnc_shuffle; //[3,2,4,0,1]</code>
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 15:55, 21 May 2015

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:
setresizereversecountfindinforEachdeleteAtdeleteRangeappendsortBIS_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 []
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 May 21, 2015 - 14:55 (UTC)
Killzone Kid
Array "shuffle" implementation using pushBack, much faster alternative to BIS_fnc_arrayShuffle: KK_fnc_shuffle = { private "_cnt"; _this =+ _this; _cnt = count _this; for "_i" from 1 to _cnt do { _this pushBack (_this deleteAt floor random _cnt); }; _this }; // Example arr = [0,1,2,3,4]; arr call KK_fnc_shuffle; //[3,2,4,0,1]