Description
Appends array2 to the back of array1 modifying array1. See insert for an "appendUnique" equivalent.
Note
append does not return array, it modifies the existing array. If you need to return a copy, use "+ ":
array3 = array1 + array2;
Syntax
array1 append array2
Parameters:
Returns: Nothing
Examples
Example 1
_arr = [1 ,2 ,3 ];
_arr append [4 ,5 ,6 ];
hint str _arr ;
See also
set · pushBack · pushBackUnique · insert · + · apply · select · resize · reverse · count · deleteAt · deleteRange
Heeeere's Johnny! 2015-03-09 _array1 append _array2 ;
is roughly 1.2× 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.
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
};
arr = [1 ,2 ,3 ];
[arr, 0 ] call KK_fnc_unshift;
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 ;
};
arr = [1 ,2 ,3 ,4 ];
[arr, ["a" ,"b" ], 2 ] call KK_fnc_insert;
A faster alternative to BIS_fnc_arrayPushStack using append :
KK_fnc_pushStack = {
_this select 0 append (_this select 1 );
_this select 0
};
arr = [1 ,2 ,3 ];
[arr, [4 ,5 ,6 ]] call KK_fnc_pushStack;