Gibt es eine elegante Möglichkeit, falsche Eigenschaften von diesem Objekt mit lodash / unterstreichen herauszufiltern? Ähnlich wie _.compact(array)
falsche Elemente aus Arrays entfernt
so von
%Vor%Zurückgeben
%Vor% Sie möchten _.pick
, es nimmt eine Funktion als Argument und gibt ein Objekt zurück, das nur die Schlüssel enthält, für die diese Funktion truthy zurückgibt. So können Sie tun:
Oder noch prägnanter:
%Vor% Lodash 4.0 teilt die Funktion _.pick
in _.pick
auf, die ein Array von Eigenschaften benötigt, und _.pickBy
, die eine Funktion benötigt. So, jetzt wäre es
Oder, da _.pickBy
standardmäßig _.identity
als zweites Argument verwendet, kann es einfach wie folgt geschrieben werden:
Wenn Sie lodash verwenden, würde ich Ihnen Folgendes empfehlen:
%Vor%Die Funktion pick () generiert ein neues Objekt, das Eigenschaften enthält, für die der Callback truthy zurückgibt . Daher können wir einfach die Funktion identity () als Callback verwenden, da sie nur jeden Eigenschaftswert zurückgibt.
Leider kann ich die obigen Beiträge noch nicht direkt kommentieren, also erstelle ich diesen zusätzlichen Beitrag.
Seit Lodash v4 wurde die oben beschriebene Funktionalität zu _.pickBy verschoben. Mit _.identity
als Standard könnten Sie Ihren Code auch ändern zu:
Sehen Sie sich JSBin für ein funktionierendes Beispiel an.
Tags und Links javascript underscore.js lodash