Реализуй класс Sequence(arr)
. Конструктор принимает аргументом массив элементов arr
. Класс Sequence
должен иметь методы go
, next
, prev
.
Класс запоминает на каком элементе из массива сейчас находится "указатель".
- Метод
go(index)
возвращает элемент из массива с индексомindex
, или последний элемент массива, еслиindex
больше длины массива. Запоминает индекс возвращенного элемента. - Метод
next()
возвращает следующий элемент из массива идущий за запомненным индексом, или первый элемент массива, если последний запомненный индекс - индекс последнего элемента. - Метод
prev()
возвращает предыдущий элемент из массива идущий перед запомненным индексом, или последний элемент массива, если последний запомненный индекс - индекс первого элемента.
const s1 = new Sequence(['one', 'two', 'three'])
console.log(s1.go(2)); // 'three'
console.log(s1.next()); // 'one'
console.log(s1.next()); // 'two'
const s2 = new Sequence([{name: 'Manya'}, {name:'Valya'}]);
console.log(s2.go(100500)); // {name: 'Valya'} последний элемент,
// так как индекс выходит за границы максимального
console.log(s2.prev()); // {name: 'Manya'}
console.log(s2.prev()); // {name: 'Valya'}