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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于