3 ms·
Have you seen https://github.com/labs42io/itiriri https://github.com/labs42io/itiriri? It does lazy queries on iterables, like IEnumerable from C#. import
by piedar 8y ago
Have you seen https://github.com/labs42io/itiriri https://github.com/labs42io/itiriri? It does lazy queries on iterables, like IEnumerable from C#.
import { query } from 'itiriri';
function* fibonacci() {
let [a, b] = [0, 1];
while (true) {
yield a;
[a, b] = [b, a + b];
}
}
// Finding first 3 Fibonacci numbers that contain 42
const result = query(fibonacci())
.filter(x => x.toString().indexOf('42') !== -1)
.take(3);
for (const e of result) {
console.log(e);
}
// outputs: 514229, 267914296, 7778742049
- dvlsg 8y agoI wrote a lib that does this too. It's been a while, but using generators tended to be way slower than just using arrays, except in the most obvious cases (array of 1000000 elements, only take 5, no sorting involved, etc). Maybe that's changed. It's been a while since I've checked.