Generators

Run Settings
LanguageJavaScript
Language Version
Run Command
// function* getEmployee() { // console.log('the function has started'); // const names = ['Amanda', 'Diego', 'Farrin', 'James', 'Kagure', 'Kavita', 'Orit', 'Richard']; // // for (const name of names) { // // console.log( name ); // // yield; // // } // for (const name of names) { // yield name; // } // console.log('the function has ended'); // } // const generatorIterator = getEmployee(); // generatorIterator.next(); // generatorIterator.next(); // generatorIterator.next(); // console.log(generatorIterator.next()); // function* udacity() { // console.log('Step 1'); // yield 'Richard'; // console.log('Step 2'); // yield 'James' // console.log('End function'); // } // const teste = udacity(); // console.log(teste.next()); // console.log(teste.next()); // console.log(teste.next()); // function* displayResponse() { // const response = yield; // console.log(`Your response is "${response}"!`); // } // const iterator = displayResponse(); // iterator.next(); // starts running the generator function // iterator.next('Hello Udacity Student'); // send data into the generator // the line above logs to the console: Your response is "Hello Udacity Student"! function* getEmployee() { const names = ['Amanda', 'Diego', 'Farrin', 'James', 'Kagure', 'Kavita', 'Orit', 'Richard']; const facts = []; for (const name of names) { // yield *out* each name AND store the returned data into the facts array facts.push(yield name); } return facts; } const generatorIterator = getEmployee(); // get the first name out of the generator let name = generatorIterator.next().value; // console.log(generatorIterator.next()); // Amanda // console.log(generatorIterator.next()); // Diego // console.log(generatorIterator.next()); // Farrin // console.log(generatorIterator.next()); // James // console.log(generatorIterator.next()); // Kagure // console.log(generatorIterator.next()); // Kavita // console.log(generatorIterator.next()); // Orit // console.log(generatorIterator.next()); // Richard // console.log(generatorIterator.next()); // pass data in *and* get the next name name = generatorIterator.next(`${name} is cool!`).value; // pass data in *and* get the next name name = generatorIterator.next(`${name} is awesome!`).value; // pass data in *and* get the next name name = generatorIterator.next(`${name} is stupendous!`).value; // you get the idea name = generatorIterator.next(`${name} is rad!`).value; name = generatorIterator.next(`${name} is impressive!`).value; name = generatorIterator.next(`${name} is stunning!`).value; name = generatorIterator.next(`${name} is awe-inspiring!`).value; // pass the last data in, generator ends and returns the array const positions = generatorIterator.next(`${name} is magnificent!`).value; console.log(positions.join('\n'));
Editor Settings
Theme
Key bindings
Full width
Lines