在Clojure中为值向量添加键

elS*_*ape 2 clojure

我有一个字符串向量(虽然可能是真的),我想创建一个新的映射条目向量,键是一些关键字.

例如,给定:

["foo" "bar" "baz"]
Run Code Online (Sandbox Code Playgroud)

我想得到

[{:message "foo"} {:message "bar"} {:message "baz"}]
Run Code Online (Sandbox Code Playgroud)

应用这种转变最惯用的方式是什么?

谢谢!

A. *_*ebb 6

这是一个意见问题.一些选择:

 (into [] (for [x ["foo" "bar" "baz"]] {:message x}))

 (mapv hash-map (repeat :message) ["foo" "bar" "baz"])

 (mapv (partial assoc {} :message) ["foo" "bar" "baz"])

 (reduce #(conj % {:message %2}) [] ["foo" "bar" "baz"])
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!我也把这个做了:`(map#(hash-map:message%)["foo""bar""baz"]) (3认同)