oblind

es6

Array.reduce(callback[ ,initval])

对数组中的值依次调用callback,callback接受4个参数:之前值,当前值,索引,数组本身

function callback(pre, cur, index, array) {

  return pre + cur

}

------------------------

//funcs: 依次调用的函数数组,v: 初值/上一函数返回值,f: 当前函数

function pipe(...funcs) {

  return val => funcs.reduce((v, f) => f(v), val)

}


function plus1(a) {

  return a + 1

}


function mult2(a) {

  return a * 2

}


console.log(pipe(plus1, mult2, plus1)(5))

评论