JSFiddle - React, Tailwind, and code Playground
by Paco86
JavaScript
function from(x) {
return function() {
var result = x;
x += 1;
return result;
}
}
var index = from(10);
console.log(index());
console.log(index());
console.log(index());
/////////////////////////////////
function to(func, max) {
return function() {
var val = func();
if (val < max) return val;
}
}
var indexMax = to(from(7), 10);
console.log(indexMax());
console.log(indexMax());
console.log(indexMax());
console.log(indexMax());
console.log(indexMax());
/////////////////////////////////
function fromTo(start, end) {
return to(from(start), end);
}
var ft = fromTo(97, 100);
console.log(ft());
console.log(ft());
console.log(ft());
console.log(ft());
console.log(ft());
console.log(ft());
/////////////////////////////////
function element(arr, func) {
if (func === undefined) {
func = fromTo(0, arr.length);
}
return function() {
var index = func();
if (index !== undefined) return arr[index];
}
}
var ele = element(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], fromTo(1,4));
console.log(ele());
console.log(ele());
console.log(ele());
console.log(ele());
var ele2 = element(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']);
console.log(ele2());
console.log(ele2());
console.log(ele2());
console.log(ele2());
console.log(ele2());
/////////////////////////////////
function collect(func, arr) {
var res;
return function() {
res = func();
if (res !== undefined) arr.push(res);
return res;
}
}
var arr = [999, 888]
var col = collect(fromTo(2, 3), arr);
console.log(col());
console.log(col());
console.log(col());
console.log(arr);
/////////////////////////////////
function filter(funcA, funcB) {
var item;
return function() {
item = funcA();
while(item !== undefined && !funcB(item)) {
item = funcA();
}
return item;
}
}
var fil = filter(fromTo(0, 5), function(val) {
return (val % 3) ===...