首页 > 解决方案 > Clojure:将地图向量转换为具有递增键的地图地图

问题描述

我有一个地图矢量

cards_vector = [{...} {...} ...]

和一个原子

(def cards_map (atom {})

对于 中的每个地图cards_vector,我想用 key 将地图添加到 cards_map card-n,其中 n 从 1 递增到count(cards_vector)。所以,cards-map应该返回

{:card-1 {...}
 :card-2 {...}
 ...
 :card-n {...}}

标签: clojure

解决方案


我建议这个片段:

(->> [{: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似乎不太实用。但你可以做到:)


推荐阅读