After @stride anwswer, I came up with a more general solution using _.mixin :
function add(a, b, c) { return a + b + c } function sub(a, b, c) { return a - b - c } _.mixin({ run: function (v, f) { var args = Array.prototype.slice.call(arguments, 2) args.unshift(v) return f.apply(this, args) } }) var r = _.chain(1).run(add, 1, 1).run(sub, 2, 2).value() console.log(r) -> -1 1 + 1 + 1 - 2 - 2 = -1
http://jsbin.com/iyEhaMa/1/
In the end, I wonder why this is not a built-in function in lodash.
Andreas Kรถberle
source share