У меня есть маленький класс:
class FreqDict<K> {
private readonly map: Map<K,number>
constructor() {
this.map = new Map;
}
inc(key: K): void {
const n = this.map.get(key);
this.map.set(key, n ? n+1 : 1);
}
*[Symbol.iterator]() {
for(const item of this.map) {
yield item;
}
}
entries() {
return Array.from(this.map.entries())
}
}
Вы можете видеть, как я реализовал итератор, и это прекрасно работает, но у this.map
уже есть итератор. Я не могу просто вернуть / переслать? Я не уверен, каков правильный синтаксис. return this.map[Symbol.iterator]
не похоже на работу.