Entferne falsche Werte im Objekt

8

Das Problem, dem ich gegenüberstehe, ist das Entfernen der Werte im onject, das die Eigenschaft false hat. Hier ist das Objekt

%Vor%

Ich kann die Werte in einem Array mithilfe der folgenden Logik abrufen:

Object.keys(myObj) gibt ["105","183","108","106"] Aber ich brauche einen Weg, um die Werte zu entfernen, die die Eigenschaft false haben und als ["105",108"] generieren. Kannst du mir helfen?

    
forgottofly 01.06.2015, 10:17
quelle

5 Antworten

3

Ich habe gerade eine Lösung für Ihr Problem auf JSBin erstellt: Arbeitsdemo

Hier finden Sie den Code:

%Vor%

Bitte lassen Sie mich wissen, wenn Sie Fragen haben.

    
julien bouteloup 01.06.2015, 10:41
quelle
6

Sie haben die Schlüssel des Objekts in einem Array. Führen Sie einen Filter darüber aus.

%Vor%     
SuperSaiyan 01.06.2015 10:22
quelle
1

Um diese Eigenschaften zu entfernen, können Sie diesen Algorithmus verwenden:

%Vor%

Wenn Sie nur an den Schlüsseln von nicht false -Werten interessiert sind, können Sie Folgendes verwenden:

%Vor%

Die Überprüfung hasOwnProperty() ist notwendig, weil Objekte nicht-user-Eigenschaften (wie prototype ) enthalten können, mit denen Sie sich wirklich nicht anlegen möchten.

    
pid 01.06.2015 10:20
quelle
1

Sie müssen mit for...in loop

über das Objekt iterieren %Vor%     
Zee 01.06.2015 10:22
quelle
1

Sie können auch dieses NPM-Paket verwenden oder diese Open Source importieren object-clean , das alle Objekteigenschaften bereinigt, die einen falschen Wert enthalten, und ein neues Objekt ohne sie zurückgibt.

Beispiel:

%Vor%     
Yoni 26.03.2017 09:45
quelle