gpt4 book ai didi

clojure - 从 map 中获取两个不同的关键字

转载 作者:行者123 更新时间:2023-12-02 05:47:41 24 4
gpt4 key购买 nike

我刚开始学习 Clojure,我想从映射向量中获取两个关键字。

假设有一个向量

(def a [{:id 1, :description "bla", :amount 12, :type "A", :other "x"} {:id 2, :description "blabla", :amount 10, :type "B", :other "y"}])

我想得到一个新的载体

[{"bla" 12} {"blabla" 10}]

我该怎么做?谢谢!

最佳答案

假设您想要分开 :description:amount,而不是将一个映射到另一个的映射,您可以使用 juxt同时检索两者:

(mapv (juxt :description :amount) a)
;; => [["bla" 12] ["blabla" 10]]

如果您确实打算制作 map ,您可以使用例如 applyhash-map 来做到这一点:

(mapv #(apply hash-map ((juxt :description :amount) %)) a)
;; => [{"bla" 12} {"blabla" 10}]

关于clojure - 从 map 中获取两个不同的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45153147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com