Composite模式参考图片:
代码:结合了之前自建的MyMap
var Iterator = function() {};
Iterator.prototype.first = function(){};
Iterator.prototype.next = function(){};
Iterator.prototype.isDone = function(){};
Iterator.prototype.currentItem = function(){};
var ArrayIterator = function(o) {
var items = o;
var curIdx = -1;
this.first = function() {
if (items == null || items.length < 1)
return null;
curIdx = 0;
return items[0];
};
this.next = function() {
if (items == null || items.length < 1)
return null;
if (this.isDone())
return items[items.length - 1];
else
return items[c