2019-03-26
描述
使用函数作为参数,然后将该函数的第一个参数作为最后一个参数。
提示
- 使用扩展运算符接受第二个及以后的参数
- 返回一个接受可变参数的闭包函数,并交换输入参数的位置
代码
const flip = fn => (first, ...rest) => fn(...rest, first);
示例
对象合并:
let a = { name: 'John Smith' };
let b = {};
const mergeFrom = flip(Object.assign);
let mergePerson = mergeFrom.bind(null, a);
mergePerson(b); // {name: "John Smith"} === b
b = {};
Object.assign(b, a); // {name: "John Smith"} === b
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于