Clojure - 更新向量内的哈希映射[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我们假设我有以下向量

[{: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"}]

执行此更改的最惯用方法是什么?

clojure hashmap
1个回答
0
投票
(mapv 
  (fn [m]
    (if (= "1" (:id m)) (assoc m :new-key ["value"]) m))
  vector)
© www.soinside.com 2019 - 2024. All rights reserved.