2

我有一个 clojure 对象数组;类似于:

(def data {
    :genre "fantasy"
    :books [
        { :id 1 :name "Lord of the rings" }
        { :id 2 :name "Game of thrones" }
        { :id 3 :name "Harry potter" }]
    })

我想获得所有书籍的 id .. 像[1 2 3]

我尝试了几件事:

  1. (seq (data :books :id))
  2. (data :books) :id) ;results in an error, as expected

但是我不知道如何获取ID。我是否必须使用doseq 或其他迭代器函数来获取ID?

谢谢

4

1 回答 1

6
(->> data :books (map :id))
于 2013-06-10T16:22:26.117 回答