2016-07-25 10 views
0

Ich begann Lodash Lernen und die folgenden filtern möchten:Filter Objekt mit Lodash

{ 
Cat:false, 
Dog: true, 
Fish:false 
} 

ich für Wahrheitswerte durch die folgende filtern:

filtered = _.pick(obj, function(value, key) {return value;}) 

Wie würde ich für Objekte auswählen, mit nur falsche Werte?

+0

vielleicht von Pick Ihre Nutzung nicht korrekt ist, Ich denke du meinst 'PickBy' statt https://jsfiddle.net/yesqer75/ – ymonad

Antwort

1
filtered = _.pickBy(obj, function(value, key) {return !value;}) 

Oder im Gegenteil,

filtered = _.omitBy(obj, function(value, key) {return value;}) 
+0

das funktioniert, danke! – lost9123193

0

In Ihrem Fall gibt es keine Notwendigkeit von Prädikat ist, können Sie schreiben es kürzer:

const obj = {cat:false, dog:true, fish:false} 

_.omitBy(obj) 
// or 
_.pickBy(obj, o => !o) 
// or 
_.pickBy(obj, _.negate(_.identity))