相关疑难解决方法(0)

Iterables:带有迭代器的对象或生成器

让我们假设一个具有已定义迭代器的对象的两个类似实现:一个使用生成器的迭代,另一个使用迭代.这两个都可以使用Array.from,并且它们都可以迭代.这两种方法有哪些区别,哪一种更受欢迎,为什么?是否需要较小的方法?

class Foo {
  constructor( ...args ) {
    this.f = args;
  }
  [Symbol.iterator]() {
    let c = 0;

    const i = {

      next: () => {
        if ( c < this.f.length ) {
          return {value:this.f[c++], done: false};
        }
        else {
          return {value:undefined,done:true};
        }
      }

    };
    return i;
  }

};

class Bar {
  constructor( ...args ) {
    this.f = args;
  }
  *[Symbol.iterator]() {
    let c = 0;

    if ( c < this.f.length ) …
Run Code Online (Sandbox Code Playgroud)

javascript iterable generator ecmascript-6

1
推荐指数
1
解决办法
52
查看次数

标签 统计

ecmascript-6 ×1

generator ×1

iterable ×1

javascript ×1