{:foo {:bar 1 :baz [2 3] :qux {:quux 4}} :corge 5}
जैसे कीवर्ड कीवर्ड के साथ घोंसला वाले मानचित्र को देखते हुए, मैं flatten-map
को कैसे कार्यान्वित कर सकता हूं ताकि (flatten-map {:foo {:bar 1 :baz [2 3] :qux {:quux 4}} :corge 5} "-")
{:foo-bar 1 :foo-baz [2 3] :foo-qux-quux 4 :corge 5}
जैसे कुछ उत्पन्न कर सके।कुंजी में शामिल होने से मानचित्र को फ़्लैटन करना
मेरे सबसे अच्छा प्रयास है:
(defn flatten-map
([form separator] (flatten-map form separator nil))
([form separator prefix]
(if (map? form)
(into {} (map (fn [[k v]]
[(keyword (str prefix (name k)))
(flatten-map v separator (str prefix (name k) separator))])
form))
form)))
आप देख सकते हैं मैं flatten-map
केवल "पत्ते" का चयन करने के लिए नहीं मिल सकता है।
बिल्कुल सही! धन्यवाद। –