Underscore.js: Verketten von benutzerdefinierten Funktionen

Using Underscore.js, Ich kann folgendes schreiben, was @ zurückgi42:

_([42, 43]).chain()
    .first()
    .value()

Ich habe eine benutzerdefinierte Funktion, die nicht Teil von Underscore.js mit dem Namen @ isdouble():

function double(value) { return value * 2; };

Ich möchte diese Funktion in einer Underscore-Kette aufrufen können, als ob sie Teil von Underscore wäre. Ich möchte folgendes schreiben, das ich zurückgeben möchte84:

_([42, 43]).chain()
    .first()
    .double()
    .value()

Dies kann nicht funktionieren, da der Unterstrich kein @ definiedoppelt(). Ich könnte benutzentap() wie in

_([42, 43]).chain()
    .first()
    .tap(double)
    .value()

Dies ist gültig, abertap wendet die Funktion auf ihr Argument an und gibt das Argument zurück, nicht das Ergebnis der Funktion. So sieht es für mich aus, als würde ich eine Art @ brauchtap gibt das Ergebnis der auf das Argument angewendeten Funktion zurück. Gibt es so etwas in Underscore.js? Vermisse ich etwas schrecklich Offensichtliches?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage