project

added
1.0

ns
clojure.set

type
function

(project xrel ks)

Returns a rel of the elements of xrel with only the keys in ks

                ;; `project` strips out unwanted key/value pairs from a set of maps. 
;; Suppose you have these descriptions of cows:

user=> (def cows #{  {:name "betsy" :id 33} {:name "panda" :id 34} })
#'user/cows

;; You care only about the names. So you can get them like this:

user=> (project cows [:name])
#{{:name "panda"} {:name "betsy"}}

            
                ;; also worked from vector of maps.

user=> (def sample [{:name "Minsun" :device "iphone6"}
                    {:name "hogle" :device "iphone7 matte black"}])
;;=> #'user/sample

user=> (clojure.set/project sample [:name])
;;=> #{{:name "hogle"} {:name "Minsun"}}