一連のマップがあります。
;; input
[{:country "MX", :video 12345, :customer "cid1"}
{:country "US", :video 12345, :customer "cid2"}
{:country "MX", :video 54321, :customer "cid1"}]
マルチマップに変換したい。生み出したい。
;; output
{"cid1"
{:actions
[{:country "MX", :video 12345, :customer "cid1"}
{:country "MX", :video 12345, :customer "cid1"}]},
"cid2"
{:actions
[{:country "US", :video 12345, :customer "cid2"}]}}
を使うべきだと思いupdate-in
ます。線に沿った何か... 私は、どのようsome-fn-here
に見えるかを正確に理解していないだけで、他の人が同じ質問をしている可能性があると考えました。
(defn add-mm-entry
[m e]
(update-in m [(:customer e)] some-fn-here))
(def output (reduce add-mm-entry {} input))
私がそれに取り組んでいる間、私はそれをコミュニティに投げ出すと考えました. ここで間違った道を進んでいる場合は、お知らせください。