【发布时间】:2019-01-25 14:39:47
【问题描述】:
有一些与此主题相关的 SO 帖子,但是我找不到任何适合我想要完成的工作。
我有一个地图矢量。我将使用另一个相关 SO 帖子中的示例:
(def data
[{:id 1 :first-name "John1" :last-name "Dow1" :age "14"}
{:id 2 :first-name "John2" :last-name "Dow2" :age "54"}
{:id 3 :first-name "John3" :last-name "Dow3" :age "34"}
{:id 4 :first-name "John4" :last-name "Dow4" :age "12"}
{:id 5 :first-name "John5" :last-name "Dow5" :age "24"}]))
我想将其转换为一个映射,其中每个条目的值是相关值的向量(保持data 的顺序)。
这是我想要的输出:
{:id [1 2 3 4 5]
:first-name ["John1" "John2" "John3" "John4" "John5"]
:last-name ["Dow1" "Dow2" "Dow3" "Dow4" "Dow5"]
:age ["14" "54" "34" "12" "24"]}
在 Clojure 中是否有一种优雅而有效的方法来做到这一点?
【问题讨论】:
-
您可以使用 reduce 来执行此操作,但不确定它有多优雅。 :D
-
是的。我认为 Clojure 会提供比直接 reduce 更优雅的解决方案。
标签: clojure