js设计模式——4.迭代器模式
js设计模式——4.迭代器模式
代码演示
/*js设计模式——迭代器模式*/ class Iterator { constructor(container) { this.list = container.list; this.index = 0; } // next 判断下一项还有则继续追加 next() { if (this.hasNext()) { return this.list[this.index++]; } return null; } // hasNext 判断是否还有下一项 hasNext() { if (this.index >= this.list.length) { return false; } return true; } } class Container { constructor(list) { this.list = list; } // 生成遍历器 getIterator() { return new Iterator(this); } } let arr = [1, 2, 3, 4, 5, 6]; let container = new Container(arr); let iterator = container.getIterator() while(iterator.hasNext()){ console.log(iterator.next()) }