共计 685 个字符,预计需要花费 2 分钟才能阅读完成。
假如有函数
[f1, f2, f3, f4]
f1(f2(f3(f4(x))))
function compose(...funcs) {if(funcs.length === 0) {return args => args;}
return funcs.reduce((acc, current) => {return (...args) => acc(current(...args));
});
}
f4(f3(f2(f1(x))))
function compose(...funcs) {if(funcs.length === 0) {return args => args;}
return funcs.reduce((acc, current) => {return (...args) => current(acc(...args));
});
}
经典题型测试
function add(a, b = 1) {return a + b;}
function square(a) {return a*a;}
function plusOne(a) {return a + 1;}
function compose(...funcs) {if(funcs.length === 0) {return args => args;}
return funcs.reduce((acc, current) => {return (...args) => acc(current(...args));
});
}
var addSquareAndPlusOne = compose(add, square, plusOne);
addSquareAndPlusOne(1, 2);
正文完
发表至: javascript
2021-02-25