generator-foreach
forEach for generators
Imagine you want to use forEach
inside a generator function:
var stuff = 1 2 3 4 5 { stuff { console }} for var i of ;
It works ok, but what if you want to yield a value based on an item
?
var stuff = 1 2 3 4 5 { stuff { item }} for var i of console
Doesn't work anymore! You can't use yield
inside an ordinary function. So generator-foreach
comes into play:
var foreach = var stuff = 1 2 3 4 5 { { item }} for var i of console
Do use it you need to remember a couple of things:
- pass an array as a first argument;
- use
yield *
beforeforeach
; - make your iterator generator function.
Examples
Basic
Use --harmony
or --harmony-generators --harmony-iteration
flags
/** * basic example */ var foreach = { } for var num of console
Fancy recursive array flattening
Use --harmony
or --harmony-generators --harmony-iteration
flags
/** * fancy recursive array flattening */ var foreach = { val} { Array ? : } var array = 1 2 3 4 5 6 7 for var num of console