Реализуй функцию compose
, которая принимает аргументами любое количество функций, и возвращает функцию, которая при вызове вызовет все функции, которые compose
получила аргументом.
Реализуй функцию compose
, которая принимает аргументами любое количество функций, и возвращает функцию, которая при вызове вызовет все функции, которые compose
получила аргументом.
expect(typeof compose).toBe('function')
let num = 10
function inc() {num += 1}
const incComposed = compose(inc)
incComposed()
expect(num).toBe(11)
let num = 10
function inc() {num += 1}
const incComposed = compose(inc)
expect(num).toBe(10)
let num = 10
function inc() {num += 1}
const incComposed = compose(inc, inc, inc)
incComposed()
expect(num).toBe(13)
const res = []
function first() {res.push('uno')}
function second() {res.push('tuo')}
function third() {res.push('tre')}
function fourth() {res.push('quadra')}
const twoFirst = compose(first, second)
const lastTwo = compose(third, fourth)
twoFirst()
expect(res).toEqual(['uno', 'tuo'])
lastTwo()
expect(res).toEqual(['uno', 'tuo', 'tre', 'quadra'])