Wenn Sie nicht schreiben und duplizieren wollen und keine komplette util-Bibliothek importieren müssen, können Sie diese wiederverwendbare Open-Source-Methode auch verwenden Objekt-clean Komponente.
So funktioniert es:
%Vor%Beispiel:
%Vor%Sagen wir, ich habe ein Objekt wie:
%Vor%Ich kann _.findKey verwenden, um einen Schlüssel mit einem wahren Wert zu erhalten, aber ich möchte wirklich ein Array erhalten, das alle Schlüssel mit einem wahren Wert enthält. ZB
%Vor%Es ist einfach genug, eine Funktion dafür zu schreiben, aber es scheint so eine offensichtliche Verallgemeinerung von findKey zu sein, dass ich das Gefühl habe, dass ich es einfach vermisse. Hat lodash eine solche Funktion?
Ich denke, Sie suchen nach der Methode pick
.
Gibt eine Kopie des Objekts zurück, gefiltert, um nur Werte für die Whitelist-Schlüssel (oder ein Array gültiger Schlüssel) zu haben. Alternativ akzeptiert ein Prädikat, das angibt, welche Schlüssel ausgewählt werden sollen.
Ich persönlich bevorzuge das Folgende - obwohl es ausführlicher ist - weil ich denke, dass es offensichtlicher ist, was es tut. Es erfordert jedoch ES6-Syntax:
%Vor% Wenn Ihr ESLint keine unbenutzten Variablen erlaubt, können Sie zum Beispiel Folgendes in .eslint.yml
verwenden:
Was erlaubt,
zu schreiben %Vor%
Bearbeiten:
Wie in @backdesk angegeben, funktioniert %code% nicht mehr für lodash 4, da %code% aufgeteilt wurde.
Ich persönlich bevorzuge das Folgende - obwohl es ausführlicher ist - weil ich denke, dass es offensichtlicher ist, was es tut. Es erfordert jedoch ES6-Syntax:
%Vor%Wenn Ihr ESLint keine unbenutzten Variablen erlaubt, können Sie zum Beispiel Folgendes in %code% verwenden:
%Vor%Was erlaubt,
zu schreiben %Vor%Ich denke, Sie suchen nach der Methode %code% .
Gibt eine Kopie des Objekts zurück, gefiltert, um nur Werte für die Whitelist-Schlüssel (oder ein Array gültiger Schlüssel) zu haben. Alternativ akzeptiert ein Prädikat, das angibt, welche Schlüssel ausgewählt werden sollen.
Sagen wir, ich habe ein Objekt wie:
%Vor%Ich kann _.findKey verwenden, um einen Schlüssel mit einem wahren Wert zu erhalten, aber ich möchte wirklich ein Array erhalten, das alle Schlüssel mit einem wahren Wert enthält. ZB
%Vor%Es ist einfach genug, eine Funktion dafür zu schreiben, aber es scheint so eine offensichtliche Verallgemeinerung von findKey zu sein, dass ich das Gefühl habe, dass ich es einfach vermisse. Hat lodash eine solche Funktion?
Probieren Sie
aus %Vor%_. pickBy (foo, _.identity);
Ich habe eine Antwort gefunden, die sich gleichzeitig klebrig und elegant anfühlt.
%Vor%Wenn Sie nicht schreiben und duplizieren wollen und keine komplette util-Bibliothek importieren müssen, können Sie diese wiederverwendbare Open-Source-Methode auch verwenden Objekt-clean Komponente.
So funktioniert es:
%Vor%Beispiel:
%Vor%pickBy in loDash verwendet standardmäßig %code% , um Eigenschaften zu filtern so können Sie es wie folgt verwenden:
%Vor%Tags und Links javascript lodash