Ich habe eine Clojure-Map, die Werte enthalten kann, die Null sind, und ich versuche, eine Funktion zu schreiben, um sie zu entfernen, ohne viel Erfolg (ich bin neu dazu).Nullwerte aus einer Karte entfernen?
ZB:
(def record {:a 1 :b 2 :c nil})
(merge (for [[k v] record :when (not (nil? v))] {k v}))
Dies führt zu einer Reihe von Karten, die nicht ist, was ich von merge erwartet:
({:a 1} {:b 2})
ich haben möchte:
{:a 1, :b 2}
+1 für die (zweite Filter ...) Ansatz. Sehr schlau. –
Leider funktioniert der '(Filter zweite ...)' Ansatz nicht. '(in {} (Filter second {: a true: b false}))' '' '{: a true}' - – kotarak
@kotorak: Guter Haken an der Null/Falsch-Ausgabe -> reedit –