Iterate over clojure map pairs (loop)

Viewed 4238

I have a sequence of map-pairs like this (currently about 17000 pairs)

(def myseq '({:name "Peter" :rank 2222} {:name "Anna" :rank 111}))

I want to filter specific pairs into a new sequence with

(filter (fn [x] (> x 222)) (:rank (first myseq)))

I have been trying to iterate with loop like this but keep getting thread-death. Also if I use filter on a a single map collection it just returns a new sequence, not sure if I need to create one myself here?

(defn remove-lower [number myseq]
    (loop [i 0]
        (if (= i (count file))
            (println "done")
            (filter [x] (> x number))
                (:rank (first myseq))))
    (recur (rest myseq))))

Finally is looping the most efficient way to get the new sequence of pairs?

2 Answers
Related