Ну как-то так:
var AIS = {};
var AISShipColors = ['#48AEFF', '#7FFFD4', '#C00054', '#87EF84', '#DBA7F8', '#EBC79E'];
AIS.colorIterator = function () {
var lastIndex = 0;
return function () {
if (lastIndex >= AISShipColors.length) {
lastIndex = 0;
}
return AISShipColors[lastIndex++];
};
};
var colorIter1 = AIS.colorIterator();
alert([colorIter1(), colorIter1(), colorIter1(), colorIter1(), colorIter1(), colorIter1(), colorIter1()]);
Если итераторы должны зависеть друг от дурга, то просто сделайте lastIndex свойством массива, как написал FINoM