这个问题在这里已有答案:
我们假设我有以下向量
[{:id "1" :type "type"}, {:id "2" :type "another-type"}]
我想编写一个更新hashmap的函数,具体取决于它的id。
(defn update
[vector id value]
....)
结果将是:
(update vector "1" "value")
[{:id "1" :type "type" :new-key ["value"]}, {:id "2" :type "another-type"}]
执行此更改的最惯用方法是什么?
(mapv
(fn [m]
(if (= "1" (:id m)) (assoc m :new-key ["value"]) m))
vector)