如果我有一个特定形状的集合:
["Alpha", "Beta", "Gamma"] ;; vector of strings
我希望通过包装每个元素来转换它:
[{:name "Alpha"}, {:name "Beta"}, {:name "Gamma"}]
是否有更好的表达方式,而不是这个相当笨拙的map
?
(map #(identity {:name %}) coll)
答案 0 :(得分:4)
如果您不喜欢使用map
的{{1}},则可以使用(fn [v] {:name v})
:
for
答案 1 :(得分:2)
您可以简单地使用fn
:
(map (fn [v] {:name v}) coll)
如果您想使用匿名函数语法,可以使用array-map
构建地图:
(map #(array-map :name %) coll)