Невозможно вернуть итератор из массива es6. - PullRequest
0 голосов
/ 16 января 2020

Я посмотрел на похожие вопросы и дошел до этого, но я все еще не могу реализовать метод итератора для следующего класса.

class RelationshipCollection {

  constructor(){
    this._relationships = [];


  }

  [Symbol.iterator]() {
    return this._relationships[Symbol.iterator]();
  }
}

Когда я запускаю

   let collection = new RelationshipCollection();
   collection.forEach(e => {
      console.log('hello');
   })

Я получаю ошибку:

forEach не является функцией

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 16 января 2020

Реализация итератора по своей сути не реализует метод forEach. Однако он позволит вам использовать for...of..., поэтому попробуйте вместо него for (let e of collection) { console.log('hello', e); }.

Кроме того, вы можете явно реализовать свой собственный метод forEach для класса, если вы предпочитаете использовать этот синтаксис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...