Algorithms
Compose
const compose = (...funcs) => {
return (...params) => {
let value;
for (let index = funcs.length - 1; index >= 0 ; index -= 1) {
const param = value ? [value] : params;
value = funcs[index].apply(this, param);
}
return value;
};
};Currying
const currying = (func, ...args) => {
const funcArguments = [];
const funcLength = func.length;
const tempFun = (funcArgs) => {
funcArguments.splice(funcArguments.length, 0, funcArgs);
if (funcLength > funcArguments.length) {
return tempFun;
}
return func.apply(this, funcArguments);
};
return tempFun(args);
};Debounce
Delay
Infinite args/calls
Pipe
Last updated