Utility functions for dealing with Arrays.
Snaps a value to the nearest value in an array.
The result will always be in the range [first_value, last_value]
.
Name | Type | Description |
---|---|---|
value | number | The search value |
arr | Array.<number> | The input array which must be sorted. |
The nearest value found.
Fetch a random entry from the given array.
Will return null if there are no array items that fall within the specified range
or if there is no item for the randomly chosen index.
Name | Type | Description |
---|---|---|
objects | Array.<any> | An array of objects. |
startIndex | integer | Optional offset off the front of the array. Default value is 0, or the beginning of the array. |
length | integer | Optional restriction on the number of values you want to randomly select from. |
The random object that was selected.
Removes a random object from the given array and returns it.
Will return null if there are no array items that fall within the specified range
or if there is no item for the randomly chosen index.
Name | Type | Description |
---|---|---|
objects | Array.<any> | An array of objects. |
startIndex | integer | Optional offset off the front of the array. Default value is 0, or the beginning of the array. |
length | integer | Optional restriction on the number of values you want to randomly select from. |
The random object that was removed.
Moves the element from the start of the array to the end, shifting all items in the process.
The "rotation" happens to the left.
Before: [ A, B, C, D, E, F ]
After: [ B, C, D, E, F, A ]
See also Phaser.ArrayUtils.rotateRight
Name | Type | Description |
---|---|---|
array | Array.<any> | The array to rotate. The array is modified. |
The rotated value.
Moves the element from the start of the array to the end, shifting all items in the process.
The "rotation" happens to the left.
Before: [ A, B, C, D, E, F ]
After: [ B, C, D, E, F, A ]
See also Phaser.ArrayUtils.rotateRight
Name | Type | Description |
---|---|---|
array | Array.<any> | The array to rotate. The array is modified. |
The rotated value.
Rotates the given matrix (array of arrays).
Based on the routine from http://jsfiddle.net/MrPolywhirl/NH42z/.
Name | Type | Description |
---|---|---|
matrix | Array.<Array.<any>> | The array to rotate; this matrix may be altered. |
direction | number | string | The amount to rotate: the rotation in degrees (90, -90, 270, -270, 180) or a string command ('rotateLeft', 'rotateRight' or 'rotate180'). |
The rotated matrix. The source matrix should be discarded for the returned matrix.
Moves the element from the end of the array to the start, shifting all items in the process.
The "rotation" happens to the right.
Before: [ A, B, C, D, E, F ]
After: [ F, A, B, C, D, E ]
See also Phaser.ArrayUtils.rotateLeft.
Name | Type | Description |
---|---|---|
array | Array.<any> | The array to rotate. The array is modified. |
The shifted value.
A standard Fisher-Yates Array shuffle implementation which modifies the array in place.
Name | Type | Description |
---|---|---|
array | Array.<any> | The array to shuffle. |
The original array, now shuffled.
Transposes the elements of the given matrix (array of arrays).
Name | Type | Description |
---|---|---|
array | Array.<Array.<any>> | The matrix to transpose. |
A new transposed matrix
Create an array representing the inclusive range of numbers (usually integers) in [start, end]
.
This is equivalent to numberArrayStep(start, end, 1)
.
Name | Type | Description |
---|---|---|
start | number | The minimum value the array starts with. |
end | number | The maximum value the array contains. |
The array of number values.
Create an array of numbers (positive and/or negative) progressing from start
up to but not including end
by advancing by step
.
If start
is less than end
a zero-length range is created unless a negative step
is specified.
Certain values for start
and end
(eg. NaN/undefined/null) are currently coerced to 0;
for forward compatibility make sure to pass in actual numbers.
Name | Type | Argument | Default | Description |
---|---|---|---|---|
start | number | The start of the range. | ||
end | number | <optional> | The end of the range. | |
step | number | <optional> | 1 | The value to increment or decrement by. |
Returns the new array of numbers.
Phaser.ArrayUtils.numberArrayStep(4); // => [0, 1, 2, 3] Phaser.ArrayUtils.numberArrayStep(1, 5); // => [1, 2, 3, 4] Phaser.ArrayUtils.numberArrayStep(0, 20, 5); // => [0, 5, 10, 15] Phaser.ArrayUtils.numberArrayStep(0, -4, -1); // => [0, -1, -2, -3] Phaser.ArrayUtils.numberArrayStep(1, 4, 0); // => [1, 1, 1] Phaser.ArrayUtils.numberArrayStep(0); // => []
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.ArrayUtils.html