From Bohemia Interactive Community
					 
					
					
					
					
- Posted on March 9, 2015 - 00:41 (UTC)
 
- Heeeere's Johnny!
 
- 
 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]