FuncJS Github Repo: FuncJS
//
let filter = function * (items, predicate) {
for(let item of items)
if(predicate(item))
yield item;
}
let take = function * (items, number) {
let count = 0;
if(number < 1) return;
for(let item of items) {
yield item;
count += 1;
if(count == number) return;
}
}
let range = function * (start, end) {
let current = start;
while(current <= end) {
let delta = yield current;
current += delta || 1;
}
}
let count = 0;
let found = null;
let names = ["Joy","Sue","Bob","Tom", "Sophie"];
for(let e of take( filter( names, e => e.startsWith("S")), 1 ) ) {
count += 1;
found = e;
}
let result = [];
let iterator = range(1, 10);
let next = iterator.next();
while(!next.done) {
result.push(next.value);
next = iterator.next(2);
}
No comments:
Post a Comment