【发布时间】:2020-02-23 20:05:33
【问题描述】:
我一直在尝试将向量内的映射的嵌套值映射到向量的向量中,但没有成功。
我的数据是这样的:
[{:country {:name "chile", :id 1},
:subcountries [{:name "talca", :id 2}
{:name "concepcion", :id 3}
{:name "puerto montt", :id 4}]}
{:country {:name "united states", :id 5},
:subcountries [{:name "boston", :id 6}
{:name "texas", :id 7}]}]
虽然我一直在使用的代码模糊地返回了我想要得到的结果的近似值:
(map
(fn [x]
(let [{{id :id name :name} :country
subcountries :subcountries} x]
[id
name
(map (fn [y] (let [{yid :id yname :yname} y] [yid yname])))]))
data)
我收到的结果很奇怪,因为我想要的向量只是一个函数:
([1 "chile" #function[clojure.core/map/fn--5862]]
[5 "united states" #function[clojure.core/map/fn--5862]])
我做错了什么?
预期的输出应该是这样的:
[[["chile" 1] ["talca" 2] ["concepcion" 3] ["puerto montt" 4]]
[["united states" 5] ["boston" 6] ["texas" 7]]]
【问题讨论】:
-
您希望显示的数据样本的输出是什么?
-
对不起,没加,我加了...
-
我真正想做的是将
data映射到option标签的向量(clojure 脚本),使用name作为inner text和id作为value属性。
标签: clojure clojurescript