获取对象数组中的所有属性

时间:2013-06-10 16:07:46

标签: clojure

我有一个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]

我尝试了一些事情:

  1. (seq (data :books :id))
  2. (data :books) :id) ;results in an error, as expected
  3. 但我无法弄清楚如何获得ID。我是否必须使用doseq或其他迭代器函数来获取ID?

    由于

1 个答案:

答案 0 :(得分:6)

(->> data :books (map :id))