расширение операторов доступа к массиву AS3 для «обертывания» значений индекса за пределами границ

я действительно хотел бы иметь возможность делать FlashСинтаксис доступа к массивузаворачивать' над массивомграницы.

Длительное объяснение -

var array:Array = ['a','b','c','d','e','f'];

Для простоты первый индекс равен 0, а его значение - первая буква «а», Чтобы получить это значение, мыбуду делать это -

array[0]; // returns 'a'

Пока индекс выИспользование для доступа к массиву находится между 0 и array.length (в нашем примере это 6), все работает нормально, но если вы используете индекс вне этих границ, выснова выключить.

array[-3];
array[9]; // both return 'undefined'

Иногда этоЭто хорошо - иногда вы ожидаете, что это произойдет, и вывсе в порядке с этим. В других случаях вы обнаруживаете, что хотите (или, по крайней мере, я этого хочу), чтобы этобуду вести себя немного больше так -

array[-3];
array[9]; // both return 'd'

(например, фотогалерея, которая возвращается к началу, когда вы нажимаетеследующий' на последнем фото)

Там'Небольшой кусок кода, который я использую снова и снова для такого рода вещей, но это 'Всегда менять индексдо передавая его в массив:

var index = -3;
while(index < 0){index += array.length}
array[index % array.length]; // returns 'd'

... и этоХорошо, но я действительно хочу расширить объект Array так, чтобы ондадим автоматическизаворачивать' значения индекса, выходящие за пределы.

TL; DR - возможно ли обтекание индекса расширением Flash AS3 'Массив объектов?

Ответы на вопрос(2)

Ваш ответ на вопрос