Класс: Phaser.ArrayUtils
Конструктор
new ArrayUtils()
Утилитарные функции для работы с массивами.
- Исходный код: utils/ArrayUtils.js (Строка 13)
Публичные методы
- Source code: utils/ArrayUtils.js (Line 172)
- Source code: utils/ArrayUtils.js (Line 27)
- Source code: utils/ArrayUtils.js (Line 51)
- Этот метод устарел и не должен использоваться. Он может быть удален в будущем.
- Устарело:
- Пожалуйста, используйте Phaser.ArrayUtils.rotate вместо этого.
- Source code: utils/ArrayUtils.js (Line 239)
- Source code: utils/ArrayUtils.js (Line 217)
- Source code: utils/ArrayUtils.js (Line 132)
- Source code: utils/ArrayUtils.js (Line 195)
<static> findClosest(value, arr) → {number}
Определяет ближайшее значение в массиве к заданному.
Результат всегда будет в диапазоне [first_value, last_value].
Parameters
| Name | Type | Description |
|---|---|---|
value | number | Искомое значение |
arr | Array.<number> | Входной массив, который обязательно должен быть отсортированным. |
Returns
Наиболее близкое найденное значение.
<static> getRandomItem(objects, startIndex, length) → {object}
Возвращает случайный элемент из заданного массива.
Возвращает null, если нет элементов в массиве в указанном диапазоне
или если нет элемента для выбранного индекса.
Parameters
| Name | Type | Description |
|---|---|---|
objects | Array.<any> | Массив объектов. |
startIndex | integer | Необязательное смещение от начала массива. Значение по умолчанию 0 (начало массива). |
length | integer | Необязательное ограничение на количество выбираемых элементов. |
Returns
Случайный выбранный объект.
<static> removeRandomItem(objects, startIndex, length) → {object}
Удаляет случайный объект из заданного массива и возвращает его.
Возвращает null, если нет элементов в массиве в указанном диапазоне
или если нет элемента для выбранного индекса.
Parameters
| Name | Type | Description |
|---|---|---|
objects | Array.<any> | Массив объектов. |
startIndex | integer | Необязательное смещение от начала массива. Значение по умолчанию 0 (начало массива). |
length | integer | Необязательное ограничение на количество выбираемых элементов. |
Returns
Случайный удаленный объект.
<static> rotate(array) → {any}
Перемещает элемент с начала массива в конец, сдвигая все элементы.
"Поворот" происходит влево.
До: [ A, B, C, D, E, F ]
После: [ B, C, D, E, F, A ]
См. также Phaser.ArrayUtils.rotateRight
Parameters
| Name | Type | Description |
|---|---|---|
array | Array.<any> | Массив для поворота. Массив изменяется. |
Returns
Повернутое значение.
<static> rotateLeft(array) → {any}
Перемещает элемент с начала массива в конец, сдвигая все элементы.
"Поворот" происходит влево.
До: [ A, B, C, D, E, F ]
После: [ B, C, D, E, F, A ]
См. также Phaser.ArrayUtils.rotateRight
Parameters
| Name | Type | Description |
|---|---|---|
array | Array.<any> | Массив для поворота. Массив изменяется. |
Returns
Повернутое значение.
<static> rotateMatrix(matrix, direction) → {Array.<Array.<any>>}
Поворачивает заданную матрицу (массив массивов).
Основано на процедуре из http://jsfiddle.net/MrPolywhirl/NH42z/.
Parameters
| Name | Type | Description |
|---|---|---|
matrix | Array.<Array.<any>> | Массив для поворота; эта матрица может быть изменена. |
direction | number | string | Угол поворота: градусы (90, -90, 270, -270, 180) или строковая команда ('rotateLeft', 'rotateRight' или 'rotate180'). |
Returns
Повернутая матрица. Источник матрицы должен быть отброшен для возвращенной матрицы.
<static> rotateRight(array) → {any}
Перемещает элемент с конца массива в начало, сдвигая все элементы.
"Поворот" происходит вправо.
До: [ A, B, C, D, E, F ]
После: [ F, A, B, C, D, E ]
См. также Phaser.ArrayUtils.rotateLeft.
Parameters
| Name | Type | Description |
|---|---|---|
array | Array.<any> | Массив для поворота. Массив изменяется. |
Returns
Сдвинутое значение.
<static> shuffle(array) → {Array.<any>}
Стандартная реализация перемешивания массива Fisher-Yates, которая изменяет массив на месте.
Parameters
| Name | Type | Description |
|---|---|---|
array | Array.<any> | Массив для перемешивания. |
Returns
- Исходный код: utils/ArrayUtils.js (Строка 80)
- Исходный код: utils/ArrayUtils.js (Строка 101)
- Исходный код: utils/ArrayUtils.js (Строка 262)
- Исходный код: utils/ArrayUtils.js (Строка 284)
Исходный массив, теперь перемешанный.
<static> transposeMatrix(array) → {Array.<Array.<any>>}
Транспонирует элементы заданной матрицы (массива массивов).
Параметры
| Имя | Тип | Описание |
|---|---|---|
array | Array.<Array.<any>> | Матрица для транспонирования. |
Возвращает
Новая транспонированная матрица
numberArray(start, end) → {Array.<number>}
Создает массив, представляющий диапазон чисел (обычно целых чисел) в [start, end].
Это эквивалентно numberArrayStep(start, end, 1).
Параметры
| Имя | Тип | Описание |
|---|---|---|
start | number | Минимальное значение, с которого начинается массив. |
end | number | Максимальное значение, которое содержит массив. |
Возвращает
Массив числовых значений.
numberArrayStep(start, end, step) → {Array}
Создает массив чисел (положительных и/или отрицательных), начиная с start,
вплоть до, но не включая end, с шагом step.
Если start меньше end, создается массив нулевой длины, если не указан отрицательный step.
Некоторые значения для start и end (например, NaN/undefined/null) в настоящее время приводятся к 0;
для обеспечения совместимости в будущем, убедитесь, что вы передаете фактические числа.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
start | number | Начало диапазона. | ||
end | number | <необязательно> | Конец диапазона. | |
step | number | <необязательно> | 1 | Значение для приращения или уменьшения. |
Возвращает
Возвращает новый массив чисел.
Пример
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