说我有一组地图:
(def coll #{{:name "foo"} {:name "bar"}})
Run Code Online (Sandbox Code Playgroud)
我想要一个函数,它将为集合中的每个地图元素添加一个id(唯一的数字很好).即
#{{:id 1 :name "foo"} {:id 2 :name "bar"}}
Run Code Online (Sandbox Code Playgroud)
以下不起作用,但这是我现在的思路.
(defn add-unique-id [coll]
(map assoc :id (iterate inc 0) coll))
Run Code Online (Sandbox Code Playgroud)
提前致谢...
怎么样
(defn add-unique-id [coll]
(map #(assoc %1 :id %2) coll (range (count coll))))
Run Code Online (Sandbox Code Playgroud)
要么
(defn add-unique-id [coll]
(map #(assoc %1 :id %2) coll (iterate inc 0)))
Run Code Online (Sandbox Code Playgroud)