我有一个clojure对象数组;类似于:
(def data {
:genre "fantasy"
:books [
{ :id 1 :name "Lord of the rings" }
{ :id 2 :name "Game of thrones" }
{ :id 3 :name "Harry potter" }]
})
我希望得到所有书籍的内容......类似于[1 2 3]
我尝试了一些事情:
(seq (data :books :id))
(data :books) :id)
;results in an error, as expected
但我无法弄清楚如何获得ID。我是否必须使用doseq或其他迭代器函数来获取ID?
由于
答案 0 :(得分:6)
(->> data :books (map :id))