append: Difference between revisions
Lou Montana (talk | contribs) m (Text replacement - "\| *((\[\[.*\]\],? ?)+) * \}\}" to "|seealso= $1 }}")  | 
				m (formatting and cleaned up see also)  | 
				||
| Line 1: | Line 1: | ||
{{RV|type=command  | {{RV|type=command  | ||
| arma3  | |game1= arma3  | ||
|1.40  | |version1= 1.40  | ||
|gr1= Arrays  | |gr1= Arrays  | ||
| Appends array2 to the back of array1 modifying array1. <br>  | |descr= Appends array2 to the back of array1 modifying array1. <br>  | ||
{{Feature | Informative | '''append''' does not return array, it modifies existing array. If you need to return a copy, use "+":    | {{Feature | 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>}}  | <code>array3 <nowiki>=</nowiki> array1 + array2;</code>}}  | ||
| array1 '''append''' array2  | |s1= array1 '''append''' array2  | ||
|p1= array1: [[Array]]  | |p1= array1: [[Array]]  | ||
| Line 17: | Line 17: | ||
|p2= array2: [[Array]]  | |p2= array2: [[Array]]  | ||
| [[Nothing]]  | |r1= [[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;   | [[hint]] [[str]] _arr; {{cc|[1,2,3,4,5,6]}}</code>  | ||
|seealso= [[set]]  | |seealso= [[set]] [[pushBack]] [[pushBackUnique]] [[apply]] [[select]] [[resize]] [[reverse]] [[count]] [[deleteAt]] [[deleteRange]]  | ||
}}  | }}  | ||
<!-- CONTINUE Notes -->  | <!-- CONTINUE Notes -->  | ||
Revision as of 14:57, 18 February 2021
Description
- Description:
 - Appends array2 to the back of array1 modifying array1. 
 - Groups:
 - Arrays
 
Syntax
Examples
Additional Information
- See also:
 - set pushBack pushBackUnique apply select resize reverse count deleteAt deleteRange
 
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 _array2is 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]