const numbers = [1, 2, 3, 4, 5];
const pipeline = (...fns) => (value) => fns.reduce((acc, fn) => fn(acc), value);
const multiply = (x) => (y) => x * y;
const add = (x) => (y) => x + y;
const square = (x) => x * x;
const transform = pipeline(
multiply(2),
add(3),
square
);
const result = numbers.map(transform);
console.log(result);
Ответ: [25, 49, 81, 121, 169]
JavaScript test | #JavaScript & Max