Using Underscore.js, I can write the following which returns 42
:
_([42, 43]).chain()
.first()
.value()
I have custom function, not part of Underscore.js called double()
:
function double(value) { return value * 2; };
I would like to be able to call this function in an Underscore chain, as if it was part of Underscore. I would like to write the following, which I'd like to return 84
:
_([42, 43]).chain()
.first()
.double()
.value()
This can't work since Underscore doesn't define double()
. I could use tap()
as in:
_([42, 43]).chain()
.first()
.tap(double)
.value()
This is valid, but tap
applies the function to its argument and returns the argument, not the result of the function. So it looks to me like I would need a sort of tap
that returns the result of the function applied to its argument. Is there anything like this in Underscore.js? Am I missing something terribly obvious?