ПП
Size: a a a
ПП
p
DE
S
function compose(...fns) {
return function(value) {
let result = value;
if (fns.length === 0) {
return value;
}
for (let i = fns.length - 1; i >= 0; i--) {
result = fns[i](result);
}
return result;
};
}
S
function compose(...fns) {
return function(value) {
return fns.reverse().reduce((acc, fn) => fn(acc), value);
};
}
F
F
F
function pipe(...fns) {
return function(value) {
return fns.reduce((acc, fn) => fn(acc), value);
};
}
S
function pipe(...fns) {
return function(value) {
return fns.reduce((acc, fn) => fn(acc), value);
};
}
F
F
F
S
function compose(...fns) {
let loop = (fns, value) => fns.length === 1 ? fns[0](value) : fns[0](loop(fns.slice(1), value));
return function(value) {
return fns.length === 0 ? value : loop(fns, value);
};
}
F