Обновить значения в векторе карт в clojure
У меня есть вектор карт с такими же ключами:
(def items [{:id 1 :name "first item"}
{:id 2 :name "second item"}])
Я могу прописать значение :name
введите первую карту в векторе:
(update-in items [0 :name] clojure.string/upper-case)
=> [{:id 1, :name "FIRST ITEM"} {:id 2, :name "second item"}]
Как я могу прописать каждый :name
ключ в каждой карте? Я ожидаю этого:
[{:id 1, :name "FIRST ITEM"} {:id 2, :name "SECOND ITEM"}]
1 ответ
Решение
Это должно сделать это:
(map #(update-in % [:name] clojure.string/upper-case) items)
Знак% стоит для каждой карты в items
в выражении функции.