2019-03-24
描述
根据输入的关键字和一组参数使返回的函数可以根据传入的参数去执行关键字方法。
提示
- 使用闭包调用传入的关键字和一组参数。
- 使用柯里化函数。
代码
const call = (key, ...args) => context => context[key](...args);
示例
对数组进行计算并返回其结果:
call('map', x => 2 * x)([1, 2, 3]) // [ 2, 4, 6 ]
Promise.resolve([2, 3, 6])
.then(call('map', x => 2 * x))
.then(console.log); // [ 4, 6, 12 ]