(def tables
[{:table "A" :occupied false :party nil}
{:table "B" :occupied false :party nil}
{:table "C" :occupied false :party nil}])
1)如何使用矢量更改单个地图?
离。 set:occupied = true其中:table =" C"
2)更新所有地图值怎么样? 恩。所有地图都设置为:occupied = false
答案 0 :(得分:1)
(map (fn [t] (if (= (:table t) "C") (assoc t :occupied true) t)) tables)
(map #(assoc % :occupied false) tables)
请注意,这些不会更改您的表,因为它们是不可变的数据结构,此代码将返回一个新的表序列,其中包含您描述的差异。