2
클로저 맵 변환에 문제가 있습니다. 지도는 벡터를 요소로 가지며 벡터는지도를 요소로 갖습니다.중첩 된 클로저 맵 변환
원래지도는 다음과 같습니다
{"values" [{"sub" false, "name" "Adhoc"} {"acm" true, "list" true, "deval" true, "name" "Buyer"}]}
벡터 내의지도는 항상 키 "이름"하지만 다른 키가 다를 수 있습니다. name 요소는 맵 내에서 키로 작동해야합니다. 최종 결과 나는이로 변환 할 원본지도가 필요합니다
{"values" {"Adhoc" {"sub" false}, "Buyer" {"deval" true, "acm" true, "list" true}}
문제는 벡터 내에서지도 요소의 양을 가질 수 있고 정말 루프와 그 해결 방법을 모르겠입니다 . 모든 제안은 높이 평가 될 것입니다.
(defn merge-by
[maps k]
(->> maps
(map (juxt #(get % k) #(dissoc % k)))
(into {})))
(merge-by [{"sub" false, "name" "Adhoc"}
{"acm" true, "list" true, "deval" true, "name" "Buyer"}]
"name")
;; => {"Adhoc" {"sub" false}, "Buyer" {"deval" true, "acm" true, "list" true}}
을 그리고 (my-map
에서 저장하는 경우)이 외부지도를 처리하는 것 :
최고 XSC를! 무리 감사! –
기꺼이 도와 드리겠습니다! – xsc