Используя Underscore.js , я могу напишите следующее, которое возвращает 42
:
_([42, 43]).chain()
.first()
.value()
У меня есть настраиваемая функция, не являющаяся частью Underscore.js, которая называется double ()
:
function double(value) { return value * 2; };
Я хотел бы иметь возможность вызывать это в цепочке Underscore, как если бы она была частью Underscore. Я хотел бы написать следующее, которое я хочу вернуть 84
:
_([42, 43]).chain()
.first()
.double()
.value()
Это не может работать, поскольку Underscore не определяет double ()
. Я мог бы использовать tap ()
как в:
_([42, 43]).chain()
.first()
.tap(double)
.value()
Это верно, но tap
применяет функцию к своему аргументу и возвращает аргумент, а не результат функции. Так что мне кажется, что мне понадобится своего рода тап
, который возвращает результат функции, примененной к ее аргументу. Есть ли что-нибудь подобное в Underscore.js? Мне не хватает чего-то ужасно очевидного?