Aktualisieren Sie die Werte in einem Vektor von Karten in Clojure
Kostüm
Ich habe einen Kartenvektor mit denselben Schlüsseln:
(def items [{:id 1 :name "first item"}
{:id 2 :name "second item"}])
Ich kann den Wert des :name
Schlüssels in der ersten Karte im Vektor in Großbuchstaben schreiben:
(update-in items [0 :name] clojure.string/upper-case)
=> [{:id 1, :name "FIRST ITEM"} {:id 2, :name "second item"}]
Wie kann ich jeden :name
Schlüssel in jeder Karte in Großbuchstaben schreiben? Ich erwarte das:
[{:id 1, :name "FIRST ITEM"} {:id 2, :name "SECOND ITEM"}]
jmargolisvt
Dies sollte es tun:
(map #(update-in % [:name] clojure.string/upper-case) items)
Das% -Zeichen steht für jede Karte im items
Funktionsausdruck.