append: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "_{10,} " to "")
m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments \("local" or "global"\)|Multiplayer Effects \("local" or "global"\)|Multiplayer Execution \("serv...)
Line 1: Line 1:
{{Command|Comments=
{{Command


| arma3 |Game name=
| arma3


|1.40|Game version=
|1.40


|gr1= Arrays |GROUP1=
|gr1= Arrays




| Appends array2 to the back of array1 modifying array1. <br>
| Appends array2 to the back of array1 modifying array1. <br>
{{Informative | '''append''' does not return array, it modifies existing array. If you need to return a copy, use "+":  
{{Informative | '''append''' does not return array, it modifies existing array. If you need to return a copy, use "+":  
<code>array3 <nowiki>=</nowiki> array1 + array2;</code>}} |DESCRIPTION=
<code>array3 <nowiki>=</nowiki> array1 + array2;</code>}}


| array1 '''append''' array2|SYNTAX=
| array1 '''append''' array2


|p1= array1: [[Array]] |PARAMETER1=
|p1= array1: [[Array]]


|p2= array2: [[Array]] |PARAMETER2=
|p2= array2: [[Array]]


| [[Nothing]] |RETURNVALUE=
| [[Nothing]]
   
   
|x1= <code>_arr = [1,2,3];
|x1= <code>_arr = [1,2,3];
_arr [[append]] [4,5,6];
_arr [[append]] [4,5,6];
[[hint]] [[str]] _arr; //[1,2,3,4,5,6]</code> |EXAMPLE1=
[[hint]] [[str]] _arr; //[1,2,3,4,5,6]</code>




| [[set]], [[pushBack]], [[pushBackUnique]], [[apply]], [[select]], [[resize]], [[reverse]], [[count]], [[find]], [[in]], [[forEach]], [[deleteAt]], [[deleteRange]], [[sort]], [[param]], [[params]], [[toArray]], [[toString]], [[arrayIntersect]], [[arrayIntersect]], [[splitString]], [[joinString]], [[BIS_fnc_arrayPushStack]], [[BIS_fnc_arrayPush]] |SEEALSO=
| [[set]], [[pushBack]], [[pushBackUnique]], [[apply]], [[select]], [[resize]], [[reverse]], [[count]], [[find]], [[in]], [[forEach]], [[deleteAt]], [[deleteRange]], [[sort]], [[param]], [[params]], [[toArray]], [[toString]], [[arrayIntersect]], [[arrayIntersect]], [[splitString]], [[joinString]], [[BIS_fnc_arrayPushStack]], [[BIS_fnc_arrayPush]]


}}
}}

Revision as of 01:03, 18 January 2021

Hover & click on the images for description

Description

Description:
Appends array2 to the back of array1 modifying array1.
append does not return array, it modifies existing array. If you need to return a copy, use "+": array3 = array1 + array2;
Groups:
Arrays

Syntax

Syntax:
array1 append array2
Parameters:
array1: Array
array2: Array
Return Value:
Nothing

Examples

Example 1:
_arr = [1,2,3]; _arr append [4,5,6]; hint str _arr; //[1,2,3,4,5,6]

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]