Array.prototype.reduceRightadvancedconst double = x => x * 2
const addOne = x => x + 1
const fns = [double, addOne]
fns.reduceRight((v, fn) => fn(v), 3)
// addOne(double(3)) β 7Use reduceRight() to compose functions right-to-left, applying each to the accumulated result.
In functional programming, compose applies functions right-to-left. reduceRight() is a natural fit.
const double = (x: number) => x * 2
const addOne = (x: number) => x + 1
compose([addOne, double])(3) // addOne(double(3)) = addOne(6) = 7