Fork me on GitHub
#clojure-russia
<
2015-08-22
>
maxp04:08:56

добрый день уважаемые

maxp04:08:30

подскажите, как наиболее элегантно сделать следующее

maxp04:08:56

из древовидной структуры вида [{:id "..." :sub [{:id "..." :bla "..."} ...]} {:id "....." :sub [....]} .... ]

maxp04:08:15

получить плоскую мапу вида

maxp04:08:45

{"id.subid" element "id2.subid2" subelement ...}

maxp04:08:55

иными словами, есть вектор элементов

maxp04:08:16

у некоторых элементов есть вектор вложенных элементов

maxp04:08:43

вложенные иды делаются через точку

maxp05:08:02

в результирующей мапе

dottedmag08:08:36

Ну так написать рекурсивную функцию, которая обойдёт эту структуру и построит результирующую.

maxp09:08:57

ну так-то да,

maxp09:08:07

но интересно было бы элегантное решние

maxp09:08:27

может там clojure.walk какой-нибудь или что-то в этом роде