A set of functions for array manipulation.
Static methods
staticclearArray<T>(array:Array<T>, recursive:Bool = false):Array<T>
Clears an array structure, but leaves the object data untouched Useful for cleaning up temporary references to data you want to preserve. WARNING: Does not attempt to properly destroy the contents.
Parameters:
array | The array to clear out |
---|---|
Recursive | Whether to search for arrays inside of arr and clear them out, too |
staticequals<T>(array1:Array<T>, array2:Array<T>):Bool
Compares the contents with ==
to see if the two arrays are the same.
Also takes null arrays and the length of the arrays into account.
staticinlinefastSplice<T>(array:Array<T>, element:T):Array<T>
Safely removes an element from an array by swapping it with the last element and calling pop()
(won't do anything if the element is not in the array). This is a lot faster than regular splice()
,
but it can only be used on arrays where order doesn't matter.
Parameters:
array | The array to remove the element from |
---|---|
element | The element to remove from the array |
Returns:
The array
staticflatten2DArray<T>(array:Array<Array<T>>):Array<T>
Flattens 2D arrays into 1D arrays.
Example: [[1, 2], [3, 2], [1, 1]]
-> [1, 2, 3, 2, 1, 1]
staticlast<T>(array:Array<T>):Null<T>
Returns the last element of an array or null
if the array is null
/ empty.
staticinlinesafeContains<T>(array:Null<Array<T>>, element:T):Bool
Returns true if the array is not null and contains the element.
5.0.0
.staticsafePush<T>(array:Null<Array<T>>, element:T):Array<T>
Pushes the element into the array (and if the array is null, creates it first) and returns the array.
4.6.0
.staticinlinesafeSwap<T>(array:Array<T>, item1:T, item2:T):Array<T>
Swaps two items, item1
and item2
which are in the array, but only if both elements are present in the array
Parameters:
array | The array whose elements need to be swapped |
---|---|
item1 | One of the elements of the array which needs to be swapped |
item2 | The other element of the array which needs to be swapped |
Returns:
The array
staticinlinesafeSwapByIndex<T>(array:Array<T>, index1:Int, index2:Int):Array<T>
Swaps two elements of an array, which are located at indices index1
and index2
and also checks if the indices are valid before swapping
Parameters:
array | The array whose elements need to be swapped |
---|---|
index1 | The index of one of the elements to be swapped |
index2 | The index of the other element to be swapped |
Returns:
The array
staticsetLength<T>(array:Array<T>, newLength:Int):Array<T>
Sets the length of an array.
Parameters:
array | The array. |
---|---|
newLength | The length you want the array to have. |
staticinlineswap<T>(array:Array<T>, item1:T, item2:T):Array<T>
Swaps two items, item1
and item2
which are in the array
Parameters:
array | The array whose elements need to be swapped |
---|---|
item1 | One of the elements of the array which needs to be swapped |
item2 | The other element of the array which needs to be swapped |
Returns:
The array
staticinlineswapAndPop<T>(array:Array<T>, index:Int):Array<T>
Removes an element from an array by swapping it with the last element and calling pop()
.
This is a lot faster than regular splice()
, but it can only be used on arrays where order doesn't matter.
IMPORTANT: always count down from length to zero if removing elements from within a loop
using flixel.util.FlxArrayUtil;
var i = array.length;
while (i-- > 0)
{
if (array[i].shouldRemove)
{
array.swapAndPop(i);
}
}
Parameters:
array | The array to remove the element from |
---|---|
index | The index of the element to be removed from the array |
Returns:
The array
staticinlineswapByIndex<T>(array:Array<T>, index1:Int, index2:Int):Array<T>
Swaps two elements of an array, which are located at indices index1
and index2
Parameters:
array | The array whose elements need to be swapped |
---|---|
index1 | The index of one of the elements to be swapped |
index2 | The index of the other element to be swapped |
Returns:
The array