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))
评论