append: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "|= Game version" to "|Game version=") |
Lou Montana (talk | contribs) m (Text replacement - "<br />" to "<br>") |
||
Line 40: | Line 40: | ||
<dt class="note">[[User:Heeeere's Johnny!|Heeeere's Johnny!]]</dt> | <dt class="note">[[User:Heeeere's Johnny!|Heeeere's Johnny!]]</dt> | ||
<dd class="note"> | <dd class="note"> | ||
<code>_array1 [[append]] _array2</code> is roughly 1.2x faster (depending on array size) than <code>_array1 <nowiki>=</nowiki> _array1 + _array2</code>(Averaged over 10.000 iterations with two identical arrays containing the numbers 0 through 9)<br | <code>_array1 [[append]] _array2</code> is roughly 1.2x faster (depending on array size) than <code>_array1 <nowiki>=</nowiki> _array1 + _array2</code>(Averaged over 10.000 iterations with two identical arrays containing the numbers 0 through 9)<br> | ||
The larger the arrays to append, the faster [[append]] is as it does not create a new array, which happens with array addition. | The larger the arrays to append, the faster [[append]] is as it does not create a new array, which happens with array addition. |
Revision as of 10:58, 19 March 2020
Description
- Description:
- Appends array2 to the back of array1 modifying array1.
NOTE: append does not return array, it modifies existing array. If you need to return a copy, use "+":array3 = array1 + array2;
- Groups:
- Uncategorised
Syntax
Examples
Additional Information
- See also:
- setpushBackpushBackUniqueapplyselectresizereversecountfindinforEachdeleteAtdeleteRangesortparamparamstoArraytoStringarrayIntersectarrayIntersectsplitStringjoinStringBIS_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
- Posted on March 9, 2015 - 00:41 (UTC)
- Heeeere's Johnny!
-
_array1 append _array2
is roughly 1.2x faster (depending on array size) than_array1 = _array1 + _array2
(Averaged over 10.000 iterations with two identical arrays containing the numbers 0 through 9)
The larger the arrays to append, the faster append is as it does not create a new array, which happens with array addition.
- Posted on May 21, 2015 - 10:27 (UTC)
- Killzone Kid
-
Array "unshift" implementation using append, a faster alternative to BIS_fnc_arrayUnShift:
KK_fnc_unshift = { private ["_arr", "_tmp"]; _arr = _this select 0; _tmp = [_this select 1]; _tmp append _arr; _arr resize 0; _arr append _tmp; _arr }; // Example arr = [1,2,3]; [arr, 0] call KK_fnc_unshift; //both arr and return of function are [0,1,2,3]
- Posted on May 21, 2015 - 15:21 (UTC)
- Killzone Kid
-
Array "insert" implementation using append, much faster alternative to BIS_fnc_arrayInsert:
KK_fnc_insert = { private ["_arr", "_i", "_res"]; _arr = _this select 0; _i = _this select 2; _res = []; _res append (_arr select [0, _i]); _res append (_this select 1); _res append (_arr select [_i, count _arr - _i]); _res }; // Example arr = [1,2,3,4]; [arr, ["a","b"], 2] call KK_fnc_insert; //[1,2,"a","b",3,4]
- Posted on May 21, 2015 - 15:52 (UTC)
- Killzone Kid
-
A faster alternative to BIS_fnc_arrayPushStack using append:
KK_fnc_pushStack = { _this select 0 append (_this select 1); _this select 0 }; // Example arr = [1,2,3]; [arr,[4,5,6]] call KK_fnc_pushStack; //both arr and function return are [1,2,3,4,5,6]