3 ms·
Generics on iterables are super easy: function* map(iterator, mapper) { for (const elem of iterator) { yield mapper(elem); } }
by pitaj 10y ago
Generics on iterables are super easy:
function* map(iterator, mapper) {
for (const elem of iterator) {
yield mapper(elem);
}
}
function* filter(iterator, filterer) {
for (const elem of iterator) {
if (filterer(elem)) {
yield elem;
}
}
}
function forEach(iterator, eacher) {
for (const elem of iterator) {
eacher(iterator);
}
}
function reduce(iterator, reducer, initial) {
let current = initial;
for (const elem of iterator) {
current = reducer(current, elem);
}
return current;
}
- bzbarsky 10y agoYes, but you have to have that boilerplate every time you want them instead of them just being around. It's not fatal, but is annoying.