JSFiddle - React, Tailwind, and code Playground

by kentaromiura

JavaScript

function LazySequence(first, second){
    var delta = second - first;
    return {
        next: function(){
            return new LazySequence(second, second + delta)
        },
        value: first
    }
}

function take(sequence, count){
    var current = sequence
    return Array.apply(null, Array(count)).map(function(){
        var result = current.value;
        current = current.next();
        return result
    })
}

console.log(
    take(new LazySequence(1,2), 10),
    take(new LazySequence(1,10), 10)
)