【问题标题】:Can't return the iterator from es6 Array无法从 es6 数组返回迭代器
【发布时间】:2020-01-16 17:36:32
【问题描述】:

我已经研究过类似的问题并且已经走到了这一步,但我 似乎仍然无法实现迭代器方法 为以下课程。

class RelationshipCollection {

  constructor(){
    this._relationships = [];


  }

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

当我跑步时

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

我得到的错误是

forEach 不是函数

任何帮助将不胜感激。

【问题讨论】:

  • 实现迭代器并不固有地实现forEach 方法。但是,它可以让您使用for...of...,因此请尝试使用for (let e of collection) { console.log('hello', e); }
  • 谢谢你的正确。
  • 我已将其添加为下面的答案;如果有帮助,请随时接受它:)

标签: javascript node.js class ecmascript-6 iterator


【解决方案1】:

实现迭代器并不固有地实现forEach 方法。但是,它会允许您使用for...of...,因此请尝试使用for (let e of collection) { console.log('hello', e); }

或者,如果您更喜欢使用该语法,您可以在类上显式实现您自己的 forEach 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多