Advertisement
Guest User

clojure-search-spec-map

a guest
Mar 10th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defn findMapWithKey
  2.     [targetCollection targetKey targetValue]
  3.     (reduce-kv
  4.       (fn [mapV keyV valueV]
  5.         (if (map? valueV)
  6.           (reduce-kv
  7.             (fn [mapVunder keyVunder valueVunder]
  8.               (if (and (= keyVunder targetKey) (= (get valueV keyVunder) targetValue)) valueV mapVunder))
  9.             {}
  10.             valueV
  11.           )
  12.         mapV)
  13.       )
  14.       {}
  15.       targetCollection
  16.     )
  17. )
  18.  
  19. (def ex1 {:key1 "a" :key2 "b" :key3 {:underKey1 "a2" :underKey2 "b2"}})
  20. (println (findMapWithKey ex1 :underKey1 "a2"))
  21. (def ex1 {:key1 "a" :key2 {:underKey3 "a2" :underKey4 {:underKey5 "a2" :underKey6 "b2"}} :key3 {:underKey1 "a2" :underKey2 "b2"}})
  22. (println (findMapWithKey ex1 :underKey1 "a2"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement