迭代器,其实就是根据index下标增加来实现的
class MyIterator { private container: Container; private list: Array<any>; private index: number; constructor(container: Container) { this.list = container.list this.index = 0; } next() { if (this.hasNext()) { return this.list[this.index++] } return null } hasNext() { if (this.index >= this.list.length) { return false } return true }}class Container { list: Array<any> constructor(list: Array<any>) { this.list = list } getIterator() { return new MyIterator(this) }}const container = new Container([1, 2, 3, 4])const iterator = container.getIterator()console.log(iterator.next()) // 1console.log(iterator.next()) // 2console.log(iterator.next()) // 3console.log(iterator.next()) // 4console.log(iterator.next()) // null