箭头函数的理解

const pipeline = (...funcs) =>
val => funcs.reduce((a, b) => b(a), val);

const plus1 = a => a + 1;
const mult2 = a => a * 2;
const addThenMult = pipeline(plus1, mult2);

addThenMult(5)
我想下问 funcs.reduce((a, b) => b(a), val); 是什么意思
pipeline(6,10) 之后是一个函数
function reduce(){}里面是一个函数和一个数组作为参数吗??
那个函数(a, b) => b(a), b(a)又是怎么理解呢???

阅读 3.2k
1 个回答

(a, b) => b(a), val不是这样看的

reduce((a, b) => b(a), val)是一个整体

可以看成

reduce(function (a, b) {
      return b(a);
    }, val)

参考 https://developer.mozilla.org...
这个关键在于reduce
arr.reduce(callback,[initialValue])
val就是initialValue 初始值
callback(a, b) => b(a)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题