TypeScript使用迭代器遍历对象
时间: 2023-11-01 18:57:27 浏览: 59
在TypeScript中,我们可以使用迭代器遍历对象。迭代器是一个对象,它实现了一个next()方法,该方法返回一个包含value和done属性的对象。
下面是一个示例代码,展示了如何在TypeScript中使用迭代器遍历对象:
```typescript
class ObjectIterator<T> implements Iterator<T> {
private data: T[];
private index: number;
constructor(data: T[]) {
this.data = data;
this.index = 0;
}
next(): IteratorResult<T> {
if (this.index >= this.data.length) {
return { value: null, done: true };
}
const value = this.data[this.index];
this.index++;
return { value, done: false };
}
}
const obj = { a: 1, b: 2, c: 3 };
const keys = Object.keys(obj);
const iterator = new ObjectIterator(keys);
for (const key of iterator) {
console.log(key);
}
```
在上面的代码中,我们定义了一个ObjectIterator类,它实现了Iterator接口。在next()方法中,我们依次返回对象的键。然后,我们创建了一个obj对象,并获取它的键。最后,我们使用for...of循环来遍历迭代器并打印键。