Клуб API Карт

Сброс итератора коллекции в первоначальное положение

Пост в архиве.

Мне нужно в цикле перебирать элементы коллекции.

Итератор, насколько я понял, умеет идти только вперёд. В Debug версии прокатывает такое решение:

 



function call_me_recursively(iterator)
{
  if(iterator.getNext()==null)
  {
    iterator._current=iterator._list.first;
  }
  else
    iterator.getNext(
  setTimeout(function() { iterator._current.obj.balloon.open() },3100
  myMap.panTo(iterator._current.obj.geometry.getCoordinates(),
  {
     flying: true,
     duration: 3000
  }
    
setTimeout(function() { call_me_recursively(iterator) },4000
}


var iterator=myCollection.getIterator(
call_me_recursively(iterator);

В релизе уже нет, ибо доступ к __скрытым свойствам мы не получаем, насколько я понял.

Как это правильно реализовать?

4 комментария
Sergey Konstantinov
28 января 2016, 04:44

Запросить другой итератор.

А можно поподробнее?

Sergey Konstantinov
28 января 2016, 04:44

if (iterator.getNext() === null) {

    iterator = myCollection.getIterator();

}

Неа, возвращает ссылку на последний элемент. Это первое, что я попробовал : )