Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defn findMapWithKey
- [targetCollection targetKey targetValue]
- (reduce-kv
- (fn [mapV keyV valueV]
- (if (map? valueV)
- (reduce-kv
- (fn [mapVunder keyVunder valueVunder]
- (if (and (= keyVunder targetKey) (= (get valueV keyVunder) targetValue)) valueV mapVunder))
- {}
- valueV
- )
- mapV)
- )
- {}
- targetCollection
- )
- )
- (def ex1 {:key1 "a" :key2 "b" :key3 {:underKey1 "a2" :underKey2 "b2"}})
- (println (findMapWithKey ex1 :underKey1 "a2"))
- (def ex1 {:key1 "a" :key2 {:underKey3 "a2" :underKey4 {:underKey5 "a2" :underKey6 "b2"}} :key3 {:underKey1 "a2" :underKey2 "b2"}})
- (println (findMapWithKey ex1 :underKey1 "a2"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement