我有一个地图矢量
cards_vector = [{...} {...} ...]
和一个原子
(def cards_map (atom {})
对于cards_vector中的每个映射,我希望使用键card-n将映射添加到cards_map,其中n从1递增到count(cards_vector)。因此,cards-map应该返回
{:card-1 {...}
:card-2 {...}
...
:card-n {...}}发布于 2020-08-12 02:43:31
我建议使用以下代码片段:
(->> [{:a 1} {:b 2}]
(map-indexed (fn [idx value] [(keyword (str "card-" idx)) value]))
(into {}))
;; => {:card-0 {:a 1}, :card-1 {:b 2}}但我同意cfrick的评论。选择一个形状为:card-X的关键点似乎并不实际。但你可以做到:)
发布于 2020-08-12 05:58:09
另一种解决方案,更接近命令式编程,但效率可能低于映射索引:
(into {} (for [k (range (count @cards_map))] [(keyword (str "card-" k)) (nth @cards_map k)]))
https://stackoverflow.com/questions/63364188
复制相似问题