Ich versuche herauszufinden, wie Lodash iteratee funktioniert und wo ich es verwenden würde.
Die Dokumentation sagt:
Erstellt eine Funktion, die func mit den Argumenten der erstellten Funktion aufruft. Wenn func ein Eigenschaftsname ist, gibt die erstellte Funktion den Eigenschaftswert für ein bestimmtes Element zurück. Wenn func ein Array oder Objekt ist, gibt die erstellte Funktion true für Elemente zurück, die die entsprechenden Quelleigenschaften enthalten, andernfalls wird false zurückgegeben.
Dies ist eines der Beispiele aus der Dokumentation, aber ich habe einige Probleme damit, meinen Kopf darum zu wickeln.
%Vor%Ein iteratee ist im Grunde eine Funktion. Wenn Sie die Funktion iteratee von lodash aufrufen, wird eine Funktion zurückgegeben, die später in der Funktion verwendet werden kann Code.
Es gibt 3 verschiedene Arten von iteratee, die ich im Folgenden beschreiben werde, wobei ich die folgenden Objekte im Beispielcode verwende.
%Vor%Wenn iteratee mit einer Zeichenfolge aufgerufen wird, wird eine Funktion zurückgegeben, die dies tut Gibt die Eigenschaft eines Objekts mit dem Schlüssel der angegebenen Zeichenfolge zurück.
z.B.
%Vor%Was wir hier beenden, ist eine Funktion, die die age-Eigenschaft von a zurückgibt Objekt. Ähnliches wie:
%Vor% So können wir getAge
verwenden, um das Alter der Personen zurückzugeben:
Die Zeichenfolge kann auch ein Pfad zu einer Eigenschaft sein:
%Vor%Wenn iteratee mit einem Objekt aufgerufen wird, wird ein Prädikat zurückgegeben (returns) true oder false), wenn ein Objekt einen passenden Schlüssel mit dem angegebenen Wert hat.
z.B.
%Vor%Der Treffer iteratee ist nicht auf eine einzelne Eigenschaft beschränkt. Es kann mehrere Schlüssel und Werte annehmen:
%Vor%Dies entspricht dem iteratee-Treffer, wird jedoch erstellt, wenn iteratee aufgerufen wird mit einem Array von Schlüsseln und Werten.
Die oben erstellte Funktion is25
könnte auch wie folgt erstellt werden:
Die Eigenschaften können auch ein Pfad zu einem Schlüssel sein, was nicht mit den iteratee-Übereinstimmungen möglich ist:
%Vor%In den meisten Fällen werden Sie die iteratee Funktion nicht direkt aufrufen. Lodash wird die Funktion intern verwenden, wenn Sie eine Funktion aufrufen, die ein iteratee ausführen kann.
z.B.
%Vor% Hier ruft lodash iteratee
mit der Zeichenkette name
auf und benutzt sie als Funktion, um map aufzurufen.
Hier ruft lodash iteratee
mit dem Objekt {age: 25}
auf und verwendet es als Funktion, um die People-Sammlung zu filtern.
Tags und Links lodash