Клуб API Карт

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

Евгений
15 мая 2012, 12:23

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

Итератор, насколько я понял, умеет идти только вперёд. В 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 комментария
Подписаться на комментарии к посту

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

Евгений
15 мая 2012, 13:57

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

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

    iterator = myCollection.getIterator();

}

Евгений
16 мая 2012, 11:54

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