Content-Length: 264542 | pFad | http://github.com/Hyuk/javascript/blob/master/javascript-basics/javascript-basics/generator.md

95 javascript/javascript-basics/javascript-basics/generator.md at master · Hyuk/javascript · GitHub
Skip to content

Latest commit

 

History

History
75 lines (58 loc) · 947 Bytes

File metadata and controls

75 lines (58 loc) · 947 Bytes

Generator

function *numbers() {

}

// or

function* numbers() {
  const result = 1 + 1;
  return 20 + (yield result);
}

const generator = numbers();
generator.next();
function *numbers() {
  yield 1;
  yield 2;
  yield* moreNumbers();
  yield 6;
  yield 7;
}

function *moreNumbers() {
  yield 3;
  yield 4;
  yield 5;
}

const generator = numbers();

const values = [];
for (let value of generator) {
  values.push(value);
}

values;

// 7
// [1,2,3,4,5,6,7]
class Tree {
  constructor(value = null, children = []) {
    this.value = value;
    this.children = children;
  }

  *printValues() {
    yield this.value;
    for(let child of this.children) {
      yield* child.printValues();
    }
  }
}

const tree = new Tree(1, [
  new Tree(2, [new Tree(4)]),
  new Tree(3)
]);

const values = [];
for(let value of tree.printValues()) {
  values.push(value);
}
values;

// [1, 2, 4, 3]








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/Hyuk/javascript/blob/master/javascript-basics/javascript-basics/generator.md

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy