Was ist die idiomatische Art zu prüfen, ob ein Schlüssel auf einer Karte einen Wert hat? Zum Beispiel, wenn wir haben:Idiomatische Art zu prüfen, ob ein Schlüssel auf einer Karte einen Wert hat
=> (def seq-of-maps [{:foo 1 :bar "hi"} {:foo 0 :bar "baz"}])
Um herauszufinden, alle Karten mit: foo == 0, Ich mag:
=> (filter (comp zero? :foo) seq-of-maps)
({:foo 0, :bar "baz"})
Aber wenn ich will alle Karten mit finden: Bar == "Hallo", das Beste, was ich mir vorstellen kann, ist:
=> (filter #(= (:bar %) "hi") seq-of-maps)
({:foo 1, :bar "hi"})
die ich nicht sehr gut lesbar finde. Gibt es eine bessere/idiomatische Art, es zu tun?
Schöne Idee, ich mag es. Ganz nebenbei, im Code scheint Ihr letzter Aufruf nicht mit den 'seq-of-maps' übereinzustimmen, die Sie in der ersten Zeile definieren. –
Whoops auf die Kopie/einfügen, behoben - danke! – mikera